www.ctrt.net > pls 00103

pls 00103

你原程序中的 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 ...

create or replace procedure GetMould (int_top in number,out_count out number,cur_out out sys_refcursor) is begin select count(*)into out_count from mouldmanager; end GetMould;

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

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(...

1. CURSOR curXXXX IS select .... from ... 而不用 for 2. item = @item ,@item是sqlserver的变量定义方法吧? 这儿能不能好? 我不确定 3. company = company code = code 到底哪个是字段名、那个是变量名,建议不要用和字段名相同的变量名。

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

问题属于入参类型错误:plsql中procedure的入参类型,如果是number或varchar2的话不需要定义长度。否则编译不能通过。 plsql中procedure的入参类型,如果是number或varchar2的话不需要定义长度。否则编译不能通过。改正这样: create or replace...

for 循环就不需要打开关闭游标了,他自动就打开关闭了 还有你上面不是2个LOOP吗 结束就应该是2个END LOOP start_date datet;这个数据该是date 这样试试 CREATE OR REPLACE Procedure Up_Cc_Stand_Bom_Io As Cursor Cor Is Select Item, Item_Cla...

DECLARE ALTER TABLE stk_flag VARCHAR2 (5); 这个是想干啥啊? declare是定义变量的 alter table的语法是这样的:alter table table_name modify column_name type_name; 你把这两个写一起是要干啥?不错才怪呢

网站地图

All rights reserved Powered by www.ctrt.net

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