www.ctrt.net > pls 00103

pls 00103

varchar2要指定长度吧? varchar2(20) ?

你原程序中的 type v_ar is varray(10) of varchar2(30); 是定义在匿名块中的,plsql是不支持在begin之后进行定义类型或者变量的吧, 将你的: type v_ar is varray(10) of varchar2(30); my_ar v_ar := v_ar('g', 'm', 'd', '龚', '帅', 'aa');...

(username varchar2,counter int,rolename varchar2) 写法,认为三个参数都 in 类型。in 类型参数是不能赋值的。例如:rolename:='connect,resource'; username:='test';写法是错误的。 写成(username in out varchar2,counter int,rolename in ...

(1)你的if和endif的数量对不上,少了一个endif。(我查是4个if,3个endif) (2)触发器有excption的功能么?至少我没有用过,用触发器调用过程吧,在过程中用excption的和decarle的功能,这样看起来不那么别扭。

CREATE OR REPLACE procedure LIYANG.xxc_insert_user1(name in varchar2) isbegin declare v_num number:=1; begin loop insert into userid values(v_num,name); exit when v_num=10; v_num:=v_num+1; end loop; end;end;/少了一个BEGIN。。END

在你的每个 inset 后面加上 into

你先单独执行第一个create.... 在单独执行第二个create....

declare tempsal scott.emp.sal%type; cursor mycursor is select * from scott.emp where sal>tempsal; cursorrecord mycursor%rowtype; begin tempsal:=800; open mycursor; fetch mycursor into cursorrecord; dbms_output.put_line(to_char(...

end HQ_InsertUpdateEnterprise 这后面应该没有分号吧

这是触发器吗?有什么问题?全部读一遍很费劲埃看看if elseif end if 是不是有没闭合的地方,找个能format的工具和高亮显示的工具调一下。

网站地图

All rights reserved Powered by www.ctrt.net

copyright ©right 2010-2021。
www.ctrt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com