2016-11-29 9 views
0

動的SQLを作成して表が存在する場合に削除する方法を探しています。しかし、私は正しい構文を取得するように見えることはできません。ここでは、クエリは、これまでに(セキュリティのために改名さフィールド)動的SQLクエリー・ドロップ・テーブル

DECLARE @TableNameNew NVARCHAR(MAX) 
DECLARE @DynamicSQL2 NVARCHAR(MAX) 

SET @TableNameNew = (SELECT 'tbl1_' + REPLACE(StaffCode,'.','') AS TableName 
     FROM tblEmployee WHERE (PCLogin = REPLACE(SYSTEM_USER, 'DOMAIN\', ''))) 
SET @DynamicSQL2 = 'IF OBJECT_ID(' + '''' + @TableNameNew + '''' + +','+'''U''' + ') IS NOT NULL DROP TABLE ' + @TableNameNew 

EXEC @DynamicSQL2 

ですこれはエラーを返します:

Could not find stored procedure 'IF OBJECT_ID('tbl1_ghewitt','U') IS NOT NULL DROP TABLE tbl1_ghewitt'.

答えて

2

EXECUTE sp_executesql @DynamicSQL2 

代わりの

EXEC @DynamicSQL2 
+0

パーフェクトをお試しください。感謝! – GPH

関連する問題