Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Borrar tabla si exite

Estas en el tema de Borrar tabla si exite en el foro de SQL Server en Foros del Web. Hola quiero hacer un script para creación de tablas, pero me gustaría poner la clausula de borrado si previamente existe. Pero no he encontrando nada ...
  #1 (permalink)  
Antiguo 27/05/2010, 11:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 62
Antigüedad: 15 años, 5 meses
Puntos: 1
Borrar tabla si exite

Hola quiero hacer un script para creación de tablas, pero me gustaría poner la clausula de borrado si previamente existe.

Pero no he encontrando nada para SQL Server.
  #2 (permalink)  
Antiguo 27/05/2010, 11:53
 
Fecha de Ingreso: mayo-2007
Mensajes: 46
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Borrar tabla si exite

Código SQL:
Ver original
  1. IF object_id('dbo.yourtable') IS NOT NULL
  2. BEGIN
  3.   DROP TABLE dbo.yourtable
  4. END
  #3 (permalink)  
Antiguo 27/05/2010, 13:38
 
Fecha de Ingreso: febrero-2009
Mensajes: 312
Antigüedad: 15 años, 2 meses
Puntos: 4
Respuesta: Borrar tabla si exite

Cita:
Iniciado por siberiano Ver Mensaje
Código SQL:
Ver original
  1. IF object_id('dbo.yourtable') IS NOT NULL
  2. BEGIN
  3.   DROP TABLE dbo.yourtable
  4. END
Hola, una cuestión:

Si "dbo.yourtable" es una vista el drop table no funcionaría y daría error.

Yo siempre utilicé:

if exists (select * from sys.objects where name = 'dbo.yourtable' and type = 'U')
drop table dbo.yourtable
else
... lo q sea...

De todas maneras en SQL2008, al object_id hay que ponerle el nombre y tipo que falta en tu sentencia.
Quedaría así:

IF OBJECT_ID (N'dbo.yourtable', N'U') IS NOT NULL
drop table dbo.yourtable


Hay que especificar el tipo de objeto.

Saludos

Etiquetas: borrar, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:15.