次のコードは機能しません。その理由はわかりません。
DECLARE @TableName varchar(100)
DECLARE @DBName varchar(50)
DECLARE @FinalTableName varchar(500)
DECLARE @TempDB varchar(50)
SET @DBName=(select db_name())
SET @TableName = 'tbl_Product'
SET @FinalTableName = @DBName + '-' + @TableName +'-' + cast(CONVERT (date, GETDATE()) as varchar(100))
SET @TempDB = 'MiscDB.sys.objects'
Declare @SQL VarChar (250)
Declare @tableExist VarChar (200)
SET @SQL = 'select @tableExist = OBJECT_ID FROM ' + @TempDB + ' WHERE object_id = OBJECT_ID(''' + @TableName + ''') AND type in (N''U'')'
exec @SQL
このエラーが発生します
メッセージ 911、レベル 16、状態 4、行 15
データベース 'select @tableExist = OBJECT_ID FROM MiscDB' が存在しません。名前が正しく入力されていることを確認してください。
ただし、SQL ステートメントを直接実行すると、機能します。