oracle sql if条件则选择statement1 else select statement2 [英] oracle sql if condition then select statement1 else select statement2

查看:99
本文介绍了oracle sql if条件则选择statement1 else select statement2的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有参数:prmtr ,我想要基于参数输入使用select语句.

I have parameter :prmtr and what I wanted is to use a select statement based on the parameter input.

我尝试过:

if :prmtr= 'A' then
    select * from tblA;
else
    select * from tblB;
end if;

但是它行不通.

还有其他方法可以做到这一点吗?

Is there some other way to do this?

推荐答案

您可以使用CURSOR变量和PRINT命令尝试类似的操作.当以脚本运行时,这在SQL * plus和SQL Developer或TOAD中都可以使用.

You may try something like this with a CURSOR variable and PRINT command. This works in SQL* plus and in SQL developer or TOAD when run as script.

VARIABLE prmtr VARCHAR2
EXEC :PRMTR := 'A'  -- SET values of parameter

VARIABLE x refcursor -- a cursor variable

DECLARE
BEGIN
    IF :PRMTR = 'A' THEN
      OPEN :x FOR
        SELECT *
        FROM   employees;
    ELSE
      OPEN :x FOR
        SELECT *
        FROM   departments;
    END IF;
END;
/

PRINT x  -- gives you the result of the query.

这篇关于oracle sql if条件则选择statement1 else select statement2的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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