【问题标题】:Dynamic sql query input and output values pass in variables动态sql查询输入输出值传入变量
【发布时间】:2012-11-19 10:08:51
【问题描述】:

动态传递列名和值并将查询结果获取到另一个变量中。

@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”。 请帮帮我。

【问题讨论】:

    标签: sql-server tsql dynamic-sql


    【解决方案1】:

    您需要在变量声明前加上@

    exec sp_executesql 
        @Sqlcommand, 
        N'@ColumnData varchar(50) out, @SKU_ID varchar(50)' , 
        @ColumnValue out, @SKU_ID
    

    【讨论】:

      猜你喜欢
      • 2017-12-12
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 1970-01-01
      相关资源
      最近更新 更多