清除DBMS_SQL.VARCHAR2S变量

时间:2014-11-12 08:47:01

标签: oracle plsql

我们如何清除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语句。

任何人都可以提供帮助吗?

1 个答案:

答案 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;
/