Limpar Table of varchar

12/10/2008 | Tags:, | Categories: PL/SQL

Essa semana surgiu uma dúvida no forum sobre variáveis TABLE of Varchar: Como zerar um array de varchar ? Aí vai a solução…
Basta setar uma variável vazia em cima da original. Abaixo um exemplo:

-- delete Pl/SQL table records
declare
  type myTextTableType is table of varchar2(200) index by binary_integer;

  l_tabela_texto      myTextTableType;
  l_tabela_vazia      myTextTableType;
begin
  l_tabela_texto(10) := 'Um valor';
  l_tabela_texto(20) := 'outro valor';
  l_tabela_texto(30) := 'mais um valor';

  l_tabela_texto := l_tabela_vazia;
  dbms_output.put  ('Uma vez que setamos nossa tabela VAZIA p/ uma TABELA POPULADA, ela se torna vazia.');
  dbms_output.put_line('Quantidade: ' || l_tabela_texto.count || ' varchars');

end;
/ 

Abaixo, colocaremos uma amostra dos resultados:

SQL> set serveroutput on
SQL>
SQL> -- delete Pl/SQL table records
SQL> declare
  2    type myTextTableType is table of varchar2(200) index by binary_integer;
  3 
  4    l_tabela_texto      myTextTableType;
  5    l_tabela_vazia    myTextTableType;
  6  begin
  7    l_tabela_texto(10) := 'Um valor';
  8    l_tabela_texto(20) := 'outro valor';
  9    l_tabela_texto(30) := 'mais um valor';
 10 
 11    l_tabela_texto := l_tabela_vazia;
 12    dbms_output.put  ('Uma vez que setamos nossa tabela VAZIA p/ uma TABELA POPULADA, ela se torn
a vazia.');
 13    dbms_output.put_line('Quantidade: ' || l_tabela_texto.count || ' varchars');
 14 
 15  end;
 16  /
Uma vez que setamos nossa tabela VAZIA p/ uma TABELA POPULADA, ela se torna
vazia.Quantidade: 0 varchars

PL/SQL procedure successfully completed.

SQL> 

Comentários aqui

Comments are closed.