1
私が実行するストアドプロシージャの一環として、いくつかの動的SQLを持っている:動的SQLでCOALESCEとNULL削除
SET @SQL_TXT = 'INSERT INTO ' [email protected]_TABLE_NAME+
'([ITEM_NAME]
,[ADD_DTT]
,[ADD_USR]
,[UPD_DTT]
,[UPD_USR]
,[ACTIVE_IND]
,[ITEM_PK])
VALUES
('''[email protected]_VALUE+'''
, CURRENT_TIMESTAMP
, '''[email protected]_USR_DOM_NAME+''', CURRENT_TIMESTAMP,'''[email protected]_USR_DOM_NAME+''',''Y'','''[email protected]_PK+''');
SET @Id = SCOPE_IDENTITY();
RETURN;'
これは細かい動作しますが、私は広告aにしたいので、ITEM_NAMEはNULLにすることはできませんCOALESE():
SET @SQL_TXT = 'INSERT INTO ' [email protected]_TABLE_NAME+
'(COALESCE([ITEM_NAME], '')
,[ADD_DTT]
,[ADD_USR]
,[UPD_DTT]
,[UPD_USR]
,[ACTIVE_IND]
,[ITEM_PK])
VALUES
('''[email protected]_VALUE+'''
, CURRENT_TIMESTAMP
, '''[email protected]_USR_DOM_NAME+''', CURRENT_TIMESTAMP,'''[email protected]_USR_DOM_NAME+''',''Y'','''[email protected]_PK+''');
SET @Id = SCOPE_IDENTITY();
RETURN;'
しかし、私はこのエラーを取得しています:私の人生のために
Incorrect syntax near the keyword 'COALESCE'.
Unclosed quotation mark after the character string ');
SET @Id = SCOPE_IDENTITY();
RETURN;'.
Incorrect syntax near '='.
私はどここの表示されていない ')' I s。私は間違って何をしていますか?
編集:ここ幹部は
あるEXECUTE SP_executesql @SQL_TXT, N'@Id INTEGER OUTPUT', @Id OUTPUT
、2一重引用符= 1つの見積もり。 (coalesce([item_name]、 ').....)': '(coalesce([item_name]、' '' ')の別のセットを追加してみてください – fleetmack
@OK、私はまだそれを取得しています:キーワード 'COALESCE'の近くに構文が間違っています '='の近くの構文が間違っています –
残念ですが、SQL Serverはまったく分かりません。 '(coalesce [item_name]、' '' ') –
fleetmack