Verifiar se a tabela existe antes de recria-la

Firebird

09/06/2004

Boa tarde,
alguém saberia me dizer como é feito para testar se uma tabela ou procedure existe no banco de dados. por exemplo no MSSQLServer eu usava if exists(select 1 from sysobjects where id=Object_ID(´nometabela´)), assim eu conseguia saber se a tabela existia ou não.


Delphiman

Delphiman

Curtidas 0

Respostas

Maicongabriel

Maicongabriel

09/06/2004

[i:7b14554de0][color=blue:7b14554de0]/* saber se uma determinada tabela existe no banco! */[/color:7b14554de0][/i:7b14554de0]
SELECT COUNT(*) FROM RDB$RELATIONS 
WHERE RDB$RELATION_NAME = ´NOME_DA_TABELA´



GOSTEI 0
Delphiman

Delphiman

09/06/2004

maicon. valeu, mas ainda não é o suficiente, acho que eu não me expressei como deveria, eu preciso verificar com if a existencia da tabela, por exemplo,
if not exists(SELECT COUNT(*) FROM RDB$RELATIONS WHERE upper(RDB$RELATION_NAME) = upper(´nome_da_tabela´)) then
begin
create nome_da_tabela(campo1 integer);
end
eu estou criando meu script de geração no IBExpert e no momento que eu vou verificar a existência da tabela ele me retorna uma mensagem informando que if não é um comando válido, vc acha que pode ser problema do IBExpert???


GOSTEI 0
Gandalf.nho

Gandalf.nho

09/06/2004

IF não se usa no script de criação, só existe em triggers ou procedures


GOSTEI 0
POSTAR