我有参数:prmtr ,我想要的是根据参数输入使用select语句。
我试过了:
if :prmtr= 'A' then
select * from tblA;
else
select * from tblB;
end if;
但它不起作用。
还有其他方法吗?
答案 0 :(得分:2)
您可以使用CURSOR
变量和PRINT
命令尝试这样的操作。当在脚本中运行时,这适用于SQL * plus以及SQL开发人员或TOAD。
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.