我们如何清除DBMS_SQL.VARCHAR2S
变量以便可以重复使用?声明如下:
DECLARE
l_updt_stmnt DBMS_SQL.VARCHAR2S;
BEGIN
Open LOOP
l_updt_stmnt(1) := 'some dynamic sql statements';
<parse the above statement>
Close LOOP;
EXCEPTION
WHEN OTHERS THEN
<Print statement>
END;
我只想重复使用l_updt_stmnt
多次生成动态sql语句。
任何人都可以提供帮助吗?
答案 0 :(得分:3)
由于DBMS_SQL.VARCHAR2S被定义为PL / SQL关联数组(集合):
type varchar2s is table of varchar2(256) index by binary_integer;
清除调用DELETE
方法所需的所有值:
begin
...
l_updt_stmnt.DELETE; -- cleanup array
...
end;
/