2

列名と値を動的に渡し、クエリの結果を別の変数に取得します。

@ColumnName , @SKU_ID are input variables, output data store into @ColumnValue variable.
DECLARE @ColumnName
char(50)
DECLARE @SKU_ID
varchar(50)
DECLARE @ColumnValue
varchar(150)
DECLARE @Sqlcommand
nvarchar(1000)
DECLARE @ColumnData
varchar(50)

SET @ColumnName = 'Color_Code'
SET @SKU_ID  = 'W16933'

SET @Sqlcommand = 'SELECT @ColumnData ='+@ColumnName+ 'FROM Stagetable WHERE SKU_ID = @SKU_ID' 
exec sp_executesql @Sqlcommand, N'ColumnData varchar(50) out' , @ColumnValue out

エラーを下回っています

メッセージ 102、レベル 15、状態 1、行 1 'ColumnData' 付近の構文が正しくありません。メッセージ 137、レベル 15、状態 1、行 1 スカラー変数「@ColumnData」を宣言する必要があります。私を助けてください。

4

1 に答える 1

1

変数宣言の前に@

exec sp_executesql 
    @Sqlcommand, 
    N'@ColumnData varchar(50) out, @SKU_ID varchar(50)' , 
    @ColumnValue out, @SKU_ID
于 2012-11-19T10:12:25.973 に答える