[firebase-br] Zerar todos os registros via store procedure
Arlei F. Farnetani Junior
junior em farsoft.com.br
Dom Abr 19 12:03:30 -03 2009
Pessoal preciso montar uma store procedure para
zerar através de um comando só todos os registros
das minhas tabelas.
Preciso zerar sem deletar tb os generators.
Alguém tem aí algum script para isto?
O problema é que o script precisa primeiro
checar as dependencias...não sei como fazer
isto...Por exemplo se eu tenho duas tabelas...clientes e orcamentos
se tiver algum cliente em orçamento com ForeinKey...o banco
não consegue deletar a tabela clientes...
O script q estou montando é este:
CREATE OR ALTER PROCEDURE ZERARTABELAS
returns (
tabela varchar(31))
as
declare variable comando varchar(100);
declare variable qtdtot integer;
declare variable qtdtab integer;
declare variable qtdreg integer;
begin
qtdtot = 0;
qtdtab = 0;
qtdreg = 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;
comando = 'delete from ' || :tabela;
execute statement :comando;
suspend;
end
tabela = :qtdtab;
suspend;
end
Mais detalhes sobre a lista de discussão lista