如果sql存储过程中的else条件 [英] IF else condition in sql stored procedure

查看:117
本文介绍了如果sql存储过程中的else条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试编译存储过程:

I'm trying to compile the stored procedure:

create 
procedure checkFroud2(code IN varchar2, p_recordset OUT SYS_REFCURSOR)
AS
BEGIN
OPEN p_recordset FOR

if code='C' then 
select * from emp
//dbms_output.putline('this is if block')
else if code='F' then
dbms_output.putline('this is else block')
else
dbms_output.putline('last else')
end if;
end checkFroud2;

但这显示了编译时错误.有人可以建议问题出在哪里吗?

but this is showing compile time errors. Can anybody suggest where the problem is?

推荐答案

CREATE
PROCEDURE checkFroud2(
          code IN VARCHAR2,
          p_recordset OUT SYS_REFCURSOR)
AS
BEGIN
     IF code='C' THEN
     dbms_output.put_line('this is if block');
     OPEN p_recordset FOR        
     SELECT * FROM emp;
     ELSIF code='F' THEN

     --you can open p_recordset with dummy as
     /*open p_recordset for select * from dual where 1 = 0; */
          dbms_output.put_line('this is else block');

     ELSE
     /*open p_recordset for select * from dual where 1 = 0; */
          dbms_output.put_line('last else');
     END IF;
END checkFroud2;
/

var o refcursor;
BEGIN
CHECKfroud2
('C',:o);

END;
/

PRINT O;

这篇关于如果sql存储过程中的else条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆