[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