Problemas para eliminar tabla

04/11/2004 - 22:30 por Claudio Valdes | Informe spam
Hola a todos:

Estoy ejecutando un Sp que se encuentra en la base de datos Master, el cual
se ejecuta desde cualquier base de datos

En el Sp existe una linea que verifica si existe una tabla y la borra, pero
no la ejecuta y me arroja el siguiente error

Servidor: mensaje 2714, nivel 16, estado 6, línea 1
Ya hay un objeto con el nombre 'TMP_Emi' en la base de datos.

El código dentro del Sp es el siguiente

IF exists (select * from dbo.sysobjects where id = object_id(N'[' +
ltrim(rtrim(@BaseDatos)) + '].[dbo].[Tmp_Emi]') and OBJECTPROPERTY(id,
N'IsUserTable') = 1)
Begin
Set @sql='drop table [' + ltrim(rtrim(@BaseDatos)) + '].[dbo].[Tmp_Emi]'
exec (@sql)
End

Set @sql= 'Select top 100 a.*
Into ' + ltrim(rtrim(@BaseDatos)) + '.dbo.Tmp_Emi
From TablaBase'

Exec (@sql)

Estoy ejecutando el Sp bajo la cuenta del sa y no se porque no me deja
borrarlo, ya verifique ejecutandolo sin Sql-Dinamico
y es el mismo problema. Al parecer tendría que ver con problemas de permisos

Desde ya muchas gracias por su ayuda y comentarios

Atte,
Claudio Valdés
 

Leer las respuestas

#1 Gustavo Larriera [MVP]
04/11/2004 - 22:24 | Informe spam
Una pregunta inocente: Para qué eliminas la tabla? No es mejor hacerle un
DELETE a los registros y luego insertar con la tabla vacía?

Gustavo Larriera, MVP
Uruguay LatAm
http://sqljunkies.com/weblog/gux/
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Claudio Valdes" wrote in message
news:%
Hola a todos:

Estoy ejecutando un Sp que se encuentra en la base de datos Master, el
cual
se ejecuta desde cualquier base de datos

En el Sp existe una linea que verifica si existe una tabla y la borra,
pero
no la ejecuta y me arroja el siguiente error

Servidor: mensaje 2714, nivel 16, estado 6, línea 1
Ya hay un objeto con el nombre 'TMP_Emi' en la base de datos.

El código dentro del Sp es el siguiente

IF exists (select * from dbo.sysobjects where id = object_id(N'[' +
ltrim(rtrim(@BaseDatos)) + '].[dbo].[Tmp_Emi]') and OBJECTPROPERTY(id,
N'IsUserTable') = 1)
Begin
Set @sql='drop table [' + ltrim(rtrim(@BaseDatos)) + '].[dbo].[Tmp_Emi]'
exec (@sql)
End

Set @sql= 'Select top 100 a.*
Into ' + ltrim(rtrim(@BaseDatos)) + '.dbo.Tmp_Emi
From TablaBase'

Exec (@sql)

Estoy ejecutando el Sp bajo la cuenta del sa y no se porque no me deja
borrarlo, ya verifique ejecutandolo sin Sql-Dinamico
y es el mismo problema. Al parecer tendría que ver con problemas de
permisos

Desde ya muchas gracias por su ayuda y comentarios

Atte,
Claudio Valdés


Preguntas similares