Pergunta

Eu tenho um script que tem um comando DROP TABLE como este:

IF EXISTS ( SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('msdb.dbo.lobloblob') AND type in (N'U'))
DROP TABLE msdb.dbo.lobloblob
CREATE TABLE msdb.dbo.lobloblob
....

este comando é executado corretamente. mas no script o comando drop não executa e propõe este erro

Já existe um objeto chamado 'msdb.dbo.lobloblob' no banco de dados

Foi útil?

Solução

Experimente

IF OBJECT_ID('msdb.dbo.lobloblob', 'U') IS NOT NULL
    DROP TABLE msdb.dbo.lobloblob;

CREATE TABLE msdb.dbo.lobloblob (...);

em vez disso.Presumo que você esteja executando este script a partir do contexto de um banco de dados diferente de msdb, então não estará em sys.objects

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top