【发布时间】:2017-02-08 08:13:18
【问题描述】:
我正在尝试将 dbms_sql.number_table 从一个过程传递到另一个过程,然后在动态 plsql 块中使用它。但是下面的代码会抛出错误:
错误(6,17):PLS-00306:调用“||”时参数的数量或类型错误
create or replace
procedure proc1( v_in_table_name varchar2,
v_in_column_name varchar2,
v_in dbms_sql.number_table)
as
plsql_block varchar2(4000);
begin
plsql_block:='declare
begin
FORALL INDX IN 1 ..'||v_in.count||' SAVE EXCEPTIONS
UPDATE '||v_in_table_name||'
Set '||v_in_column_name||'=123 WHERE col2='||v_in||'(INDX)||;
end';
execute immediate plsql_block;
end proc1;
【问题讨论】:
标签: oracle plsql numbers dynamic-sql