[firebase-br] Verificar se existe a VIEW antes de dar DROP

Jeter Rabelo Ferreira jeter.rabelo em gmail.com
Qui Ago 17 14:18:21 -03 2006


Boa tarde Jão Paulo,
comando DDL geralmente não são aceitos em Trigger, stored procedure e etc.
Para fazer o que voce quer, é só excluir o registro correspondente na tabela
de sistema.
Em vez do drop, execute:
delete from RDB$RELATIONS where RDB$RELATION_NAME = 'VIEW_RATEIO_AGENDA'
Obs: Muito cuidado ao "mexer" nas tabelas de sistema.


[]'s

Jéter Rabelo Ferreira

Em 16/08/06, Joao Paulo - Spectrum <joaopf.grupos em terra.com.br> escreveu:
>
> Bom tarde Pessoal,
>
> Tenho um script que gostaria de executar, mas nao esta dando certo:
>
> SET SQL dialect 3;
>
> COMMIT WORK;
> SET term ^;
>
> WHERE ( EXISTS( SELECT *
>                   FROM RDB$RELATIONS
>                  WHERE NOT RDB$VIEW_BLR IS NULL AND
>                        RDB$RELATION_NAME = 'VIEW_RATEIO_AGENDA' )) THEN
> BEGIN
>   DROP VIEW VIEW_RATEIO_AGENDA^
> END
>
> COMMIT WORK^
>
> Gostaria de verificar se a VIEW VIEW_RATEIO_AGENDA existe no banco de
> dados
> antes de dar um DROP.
> O que ocorre é que este script nao gera nenhum erro, mas tambem nao apaga
> a
> VIEW.
> Não sei se é possivel fazer tipo de verificação no Firebird, pois no SQL
> Server sei que é possível.
>
> Alguem tem algum idéia para este problema ?
>
> Obrigado
>
> Joao Paulo
>
>



Mais detalhes sobre a lista de discussão lista