現在SQL Server 2008 R2を使用していますが、STUFFステートメントでは問題があります。SQL Server - STUFFステートメント内の変数
次の文は、正常に動作します:
SET @col_names_2 = STUFF((
SELECT ',' + [COLUMN_NAME]
FROM test.dbo.common_columns
FOR XML PATH('')),1,1,'')
しかし、私はSTUFF-ステートメント内の変数を使用したいが、これを好き:
SET @col_names_2 = STUFF((
SELECT ',' + [COLUMN_NAME]
FROM '[email protected]_Database+'.'[email protected]_Schema+'.'[email protected]_cols+'
FOR XML PATH('')),1,1,'')
私はすでにこのような例のために、いくつかの方法を試してみました:
SET @col_names_2 = 'STUFF((
SELECT '','' + [COLUMN_NAME]
FROM '[email protected]_Database+'.'[email protected]_Schema+'.'[email protected]_cols+'
FOR XML PATH('''')),1,1,'''')'
PRINT(@col_names_2)
EXEC(@col_names_2)
PRINT文は次のようになります。
STUFF((
SELECT ',' + [COLUMN_NAME]
FROM test.dbo.common_columns
FOR XML PATH('')),1,1,'')
どのようにしてこのSTUFFステートメントの出力を変数に割り当てることができますか?私はすでにバッチステートメント内のSETステートメントで試してみましたが、これはうまくいきませんでした。 現在、次のエラーメッセージが表示されます。
キーワード 'FOR'の近くに構文が正しくありません。
私は間違っていますか?
'EXEC sp_executesqlをN'query」、N'params'、出力パラメータ – lad2025
と@var OUT'あなたはそれをさらに説明していただけますか? – ShortDive