Qual comando usar para verificar se uma tabela existe
19/11/2007
0
Necessito de um comando que me informe se uma tabela já está criada ou não.
Uso Delphi7 com Sql sewrver (MSDE).
Obrigado
Uso Delphi7 com Sql sewrver (MSDE).
Obrigado
Rounilo
Curtir tópico
+ 0
Responder
Post mais votado
15/01/2008
crie uma query com
SELECT * FROM dbo.SYSOBJECTS WHERE XTYPE = ´U´ AND NAME = :tabela
sua função vai ser
SELECT * FROM dbo.SYSOBJECTS WHERE XTYPE = ´U´ AND NAME = :tabela
sua função vai ser
functin tabelaExiste(tab: string): boolean; begin qry.Close; qry.ParamByName(´tabela´) = tab; qry.Open; Result := not qry.IsEmpty; qry.Close; end;
Djjunior
Responder
Mais Posts
19/11/2007
Ara.es
vc pode usar isso:
SELECT *
FROM SYSOBJECTS
WHERE XTYPE = ´U´
AND NAME = ´NOME_TABELA´
substituia o ´NOME_TABELA´, pelo nome da sua tabela, essa tabela Sysobjects, guarda os objetos criados, nela vc tem as tabelas do usuario e do sistema, alem de as primary keys, foreign keys e etc... de um select nela e veja que as tabelas tem o xType = ´U´ e as foreign keys tem xType = ´F´, Primary Keys tem = ´PK´ assim vc pode listar qualquer objeto do seu banco.. Flw!!
SELECT *
FROM SYSOBJECTS
WHERE XTYPE = ´U´
AND NAME = ´NOME_TABELA´
substituia o ´NOME_TABELA´, pelo nome da sua tabela, essa tabela Sysobjects, guarda os objetos criados, nela vc tem as tabelas do usuario e do sistema, alem de as primary keys, foreign keys e etc... de um select nela e veja que as tabelas tem o xType = ´U´ e as foreign keys tem xType = ´F´, Primary Keys tem = ´PK´ assim vc pode listar qualquer objeto do seu banco.. Flw!!
Responder
20/11/2007
Rounilo
No SQL Query Analyzer o comando informado por vc ´if exists (SELECT * FROM dbo.SYSOBJECTS WHERE XTYPE = ´U´ AND NAME = ´DAMS´)
then
print ´Tabela existe´
else
print ´Tabela não exite.´;´ funciona.
Entrtanto, quando crio uma pequena aplicação Delphi recebo mensagenas de erro.
procedure TForm1.Button1Click(Sender: TObject);
begin
if exists (SELECT * FROM dbo.SYSOBJECTS WHERE XTYPE = ´U´ AND NAME = ´DAMS´)
then
print ´Tabela existe´
else
print ´Tabela não exite.´;
end;
end.
ERROS
[Error] Unit1.pas(28): Undeclared identifier: ´exists´
[Error] Unit1.pas(28): Undeclared identifier: ´FROM´
[Error] Unit1.pas(37): Statement expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit ´Unit1.pas´
O que devo fazer ?
then
print ´Tabela existe´
else
print ´Tabela não exite.´;´ funciona.
Entrtanto, quando crio uma pequena aplicação Delphi recebo mensagenas de erro.
procedure TForm1.Button1Click(Sender: TObject);
begin
if exists (SELECT * FROM dbo.SYSOBJECTS WHERE XTYPE = ´U´ AND NAME = ´DAMS´)
then
print ´Tabela existe´
else
print ´Tabela não exite.´;
end;
end.
ERROS
[Error] Unit1.pas(28): Undeclared identifier: ´exists´
[Error] Unit1.pas(28): Undeclared identifier: ´FROM´
[Error] Unit1.pas(37): Statement expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit ´Unit1.pas´
O que devo fazer ?
Responder
Clique aqui para fazer login e interagir na Comunidade :)