preguntar si existe en sql

31/08/2004 - 14:43 por Ana | Informe spam
Hola todos!
Necesito hacer lo siguente

Si existe la Tabla1 Borrarla

seria un If Exist Tabla1 Then Drop Tabla1

pero esto me da un error .. alguen me puede decir como
seria la sintaxis??

desde ya gracias

Ana
 

Leer las respuestas

#1 Javier Loria
31/08/2004 - 15:08 | Informe spam
Hola Ana:
La forma en que lo hace el Enterprise Manager es:
==if exists (select *
from dbo.sysobjects
where id = object_id(N'[dbo].[Customers]')
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Customers]

== Tiene algunos "problemas". En principio por estar usando tablas de
sistema es muy probable que no sea compatible entre versiones de SQL.
Podria usar lo mismo usando las tablas del information_schema que por
ser ANSI perduran mas. Algo como:
==IF EXISTS (SELECT *
FROM Information_Schema.Tables
WHERE Table_Name='Consumo'
AND Table_Schema='dbo'
AND Table_Type='BASE TABLE')
DROP TABLA dbo.Customers
== Espero te sirva,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda

"Ana" wrote in message
news:092601c48f58$1fad1f70$
Hola todos!
Necesito hacer lo siguente

Si existe la Tabla1 Borrarla

seria un If Exist Tabla1 Then Drop Tabla1

pero esto me da un error .. alguen me puede decir como
seria la sintaxis??

desde ya gracias

Ana

Preguntas similares