create or replace procedure GETUSERS1(pi_UNAME in VARCHAR2,
pi_UPWD1 in VARCHAR2,
cur_usres out sys_refcursor ) IS
BEGIN
open cur_usres for
SELECT *
FROM USERS
WHERE UNAME = pi_UNAME
AND UPWD = pi_UPWD1;
END GETUSERS1;
ORACLE怎么执行这个存储过程
pi_UPWD1 in VARCHAR2,
cur_usres out sys_refcursor ) IS
BEGIN
open cur_usres for
SELECT *
FROM USERS
WHERE UNAME = pi_UNAME
AND UPWD = pi_UPWD1;
END GETUSERS1;
ORACLE怎么执行这个存储过程
解决方案 »
- 怎么不走索引
- 我用 PL/SQL developer 写存储过程时,当我输入dbms_out.put_line 时总是提示未连接到 oracle,但事实上我是连接到数据库的。为什么啊?
- 我想用bitmap做个运算
- sql server 中基础概念 如何和oracle中的对应起来,和谁对应?up 有分
- 关于 EXECUTE IMMEDIATE
- 如何将两个表相关的表连接成一个表
- 关于主键设置的问题
- 有关oracle中contains的问题。
- ORACLE启动不了了,数据库文件还在,能否恢复,怎样恢复,急急急!!
- sql的问题
- 用utl_file导出txt遇到的问题
- 关于数据库中的MRU算法(在线)(明天就要考了)OTL
begin
GETUSERS1('LMM','LMM');
end;
你只传2各当然报错,虽然第三个是为了out用的。你也要加上
你需要先用declare定义一个游标变量。然后再调用你的过程
还需要一个游标参数
var curl refcursor;
exec GETUSERS1('LMM','LMM',:curl);
这样就OK了,还有这个在sqlplusw 或者sqlplus中是可以的,在plsql中不支持refcursor类型
当然可以啊 ,还需要一个游标参数
var curl refcursor;
exec GETUSERS1('LMM','LMM',:curl);
这样就OK了,还有这个在sqlplusw 或者sqlplus中是可以的,在plsql中不支持refcursor类型楼主你该结贴了