我需要使用也存储在变量中的列名来选择变量,但它只是选择列名的值。
下面的代码循环遍历表的所有列,并查找每列的旧值和新值(TRIGGER的一部分)。问题是,它不是将旧值和新值分配给变量,而是分配@fieldname变量的值。
Set @getColumnName = Cursor For
Select Column_name From Information_Schema.Columns Where Table_Name = @tablename
Open @getColumnName
Fetch Next From @getColumnName Into @fieldname
While @@FETCH_STATUS = 0
Begin
Select @oldValue = @fieldname From deleted
Select @newValue = @fieldname From inserted
-- Do something with the values here
-- @oldValue and @newValue are now equal to @fieldname
-- Actually want them to be the result of the query
End
Close @getColumnName
答案 0 :(得分:0)
由于D Stanley的建议
,管理使用动态SQL对其进行排序 <a href="/hello">click</a>