[firebase-br] Zerar Todas as Tabelas com storeprocedure

Arlei Ferreira Farnetani Junior (Farsoft) junior em farsoft.com.br
Dom Ago 12 20:44:59 -03 2007


Então pessoal, estou pensando em fazer uma store procedure pra isto...só que
gostaria 

de deletar até as tabelas dependentes...pq senao dá erro de pk...



Como fazer isto heim...repito...não qro fazer via restore!



O lance tb é q vou ter q colocar algumas coisas no meio

como nao deletar o usuario ADM aquele que tem id = 0 

e mais algumas coisas...dai o motivo tb!









SET TERM ^ ;



CREATE PROCEDURE ZERARTABELAS 

returns (

    tabela varchar(31))

as

declare variable comando varchar(100);

declare variable qtdtab integer;

begin 

 qtdtab = 0;





 for select rdb$relation_name 

   from rdb$relations 

   where rdb$flags = 1 and rdb$view_blr is null 

   order by 1 

   into :tabela do 

 begin 

   qtdtab = qtdtab + 1;

   if (tabela='PESSOAS') then

      comando = 'delete from pessoas where id_pessoa>0';

   else

      comando = 'delete from ' || :tabela;



   execute statement :comando;

   suspend;

 end 

 tabela = :qtdtab;

 suspend;

end^



SET TERM ; ^



GRANT EXECUTE ON PROCEDURE ZERARTABELAS TO SYSDBA;




Mais detalhes sobre a lista de discussão lista