0

次のような DROP TABLE コマンドを持つスクリプトがあります。

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
....

このコマンドは正しく実行されます。しかし、スクリプトでは drop コマンドが実行されず、このエラーが提案されます

データベースには、'msdb.dbo.lobloblob' という名前のオブジェクトが既に存在します。

4

1 に答える 1

4

試す

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

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

代わりは。データベース以外のコンテキストからこのスクリプトを実行していると思いますので、msdbそうではありませんsys.objects

于 2012-01-15T14:19:54.200 に答える