[firebase-br] Excluir Domains não usados
Denis (Listas)
ministeriokairos em yahoo.com.br
Ter Ago 8 10:01:19 -03 2006
Pessoal,
Após uma boa arrumação em um Banco, muitos campos tiveram Domains
redefinidos de forma correta.
Assim ficaram mais de 500 Domains sem uso (daqueles que o próprio Firebird
cria após definir um campo).
Daí eu usei a seguinte instrução para excluí-los:
Delete from RDB$FIELDS A
where (select count(*) from RDB$RELATION_FIELDS B
where B.RDB$FIELD_SOURCE = A.RDB$FIELD_NAME) = 0
Beleza. Todos os Domains que não tinham nenhuma ligação com algum campo
foram excluídos.
Só que os parâmetros e variáveis de StoredProcedures também são sefinidos
por Domains.
Daí acabei apagando também os "Tipos" dos parâmetros das SPs.
Então, suponho que a solução seja esta:
Delete from RDB$FIELDS A
where (select count(*) from RDB$RELATION_FIELDS B
where B.RDB$FIELD_SOURCE = A.RDB$FIELD_NAME) = 0
and (select count(*) from RDB$PROCEDURE_PARAMETERS C
where C.RDB$FIELD_SOURCE = A.RDB$FIELD_NAME) = 0
Assim preservo os Domains usados em tabelas e em Procedures.
Daí a dúvida:
Existe algum outro possível "lugar" onde os Domains também devem ser
preservados?
Ou a solução acima não vai gerar problemas?
[ ]'s
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
Denis da Silva Guerra
São José do Vale do Rio Preto - RJ
denisdsguerra em gmail.com
~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~^~
_______________________________________________________
Você quer respostas para suas perguntas? Ou você sabe muito e quer compartilhar seu conhecimento? Experimente o Yahoo! Respostas !
http://br.answers.yahoo.com/
Mais detalhes sobre a lista de discussão lista