www.ctrt.net > orAClE 存储过程报错: Error: PLS

orAClE 存储过程报错: Error: PLS

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

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

ycdata float; // 在此处定义了一个数字类型 begin ycdata := 'select h0 into ycdata from ycdata201308 where bujianleixingid = 19 and bujianid = 172024 and bujiancanshuid = 4'; // 但是此处给这个变量的值是字符串,这个不行 open resul...

在存储过程名之后加上一对小括号执行试试。

create or replace procedure ceshi as v_sql varchar2(2000); begin v_sql:='comment on table PRO is ''记录表'''; execute immediate v_sql; dbms_output.put_line('测试用例'); end;

你的存储中,语句的没分号么?

呃,还真没见过这个定义游标的,游标的定义不是cursor cur_name [parameter_name datatype,...] is select_statement;在游标的定义中插入判断,语法有问题吧。 你可以先建临时表将不同情况的数据先插入进去,然后用游标取数。或者用with as 关键...

你的存储过程就有问题吧。我的数据库也是Oracle 10的,创建过程时报错,select中没有into子语。过程改好的话,调用是可以的。第一种的时候加括号 CALL procedure_test()

这个看一下对你是否有帮助埃查询多行内容用游标啊 declare cursor mycur is select * from checkTmp order by expressID; myrecord checkTmp%ROWTYPE; BEGIN OPEN mycur; FETCH mycur INTO myrecord; WHILE mycur%FOUND LOOP DBMS_OUTPUT.PUT_LI...

如果要修改传入的参数,则需要在传入的参数声明的时候加上out. 如: (PAR_LNGMOBILE in out varchar2) 只声明in的话,表示是只读的.所以不能赋值

网站地图

All rights reserved Powered by www.ctrt.net

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