2017-07-26 9 views
1

私は最初の動的SQL文をより大きなストアドプロシージャの一部として試行しています。私は次のように働くことに問題があります。私はエラーを得続ける:。! 「無効な列名 『FD__CLIENT_ADDRESS』動的SQL:アドバイス/提案(Object_ID関数の適切な使用)

DECLARE @SQL  VARCHAR(500) 
DECLARE @TABLENAME VARCHAR(100) 

SET @TABLENAME = N'FD__CLIENT_ADDRESS' 

SET @SQL = 
'IF EXISTS(SELECT 1 FROM sys.columns WHERE Name = N''AdmissionKey'' AND Object_ID = Object_ID('+ @TABLENAME + ')) 
    BEGIN 
     print ''success'' 
    END' 
EXEC(@SQL) 

私が提案、リンク、チュートリアル、または任意の他に開いていますお時間をいただき、ありがとうございますと助け

答えて

1

OBJECT_ID機能( 'DatabaseName.SchemaName.TableName')...完全修飾テーブル名を必要と...そして、あなたは、単一引用符を必要とする...

、以下を参照してください...

DECLARE @SQL  VARCHAR(500); 
DECLARE @TABLENAME VARCHAR(100); 

SET @TABLENAME = N'DataBaseName.SchemaName.FD__CLIENT_ADDRESS'; 

SET @SQL = 
'IF EXISTS(SELECT 1 FROM sys.columns WHERE Name = N''AdmissionKey'' AND Object_ID = Object_ID('''+ @TABLENAME + ''')) 
    BEGIN 
     print ''success'' 
    END'; 
EXEC(@SQL); 
+0

パーフェクト、目トリックをやった!ありがとうございました。 –

+0

フィードバックありがとうございます。喜んで助けてください。 :) –

関連する問題