日期:2014-05-17  浏览次数:20748 次

用PLSQL DEVELOPER8编写存储过程的困惑,求大家帮忙。
    使用的是ORACLE11G,工具为plsql developer8.0,写存储过程很不顺啊。第一,我不知道是什么原因,写完存储过程,编译,说是不认declare关键,一定要使用create proc XXXX is,哪位知道怎么进行设置,能够让它支持DECLARE写法,真心很不习惯IS啊。
    第二,在存储过程里不能使用替代变量,我不知道是什么原因。我试过写个简单的SQL: select id from table1 where name = &name; 执行后,会让我提示输入name,但是在存储过程里,我即使做成成员变量赋值,如:v_qty := &sv_qty;,编译会报错,报在"&"这个上面。
    我实在是万分纠结,不是学不会存储过程,这工具实在是个坎,恳请大家给点建议,我该怎么完善自己的环境。

------解决方案--------------------
1.语法就这样
2.存储过程中不能写SQL的,如果要返回结果集,请要游标变量 open local_cursor for your sql;
像这样:
create or replace procedure test(local_cursor out sys_refcursor  )is
vv_failcode varchar(30);
begin
  vv_failcode:='1';
 open local_cursor for select * from  failcode_test where failcode=vv_failcode;
end test;