[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