【发布时间】:2012-07-03 12:32:15
【问题描述】:
在传递参数时执行此代码块时出现问题。参数 rf 是要输入到 WHERE 子句中的变量列表。要输入的变量数量不是静态的。
create or replace
procedure test_pl(rf in varchar2)
IS
counter number;
BEGIN
select count(*) into counter from test_pl_imp where column_name in (rf);
dbms_output.put_line(counter);
END;
执行代码如下:
declare
inparam varchar2(20) := 'xyz,ran,dom';
begin
goku.test_pl(inparam);
end;
/
我希望 WHERE 条件像这样执行:
where column_name in ('xyz','ran','dom');
但它会在将xyz,ran,dom 本身视为字符串的情况下执行。
有什么方法可以实现吗?
【问题讨论】:
标签: sql stored-procedures plsql