【发布时间】:2012-12-11 07:20:35
【问题描述】:
下面是一个查询:
`UPDATE table1 SET column1 = coulmn2;`
这里,column1 的值将被更新为 column2 的值。
但是,我正在编写一个 PROCEDURE,我想在其中更新列值,在循环中通过字符串变量传递列名。
例如
`str1 varchar(50) := 'column1';`
`str2 varchar(50) := 'column2';`
`str3 varchar(200) := 'update table1 set' + str1 + '=' + str2;`
`execute immediate str3;`
但是,这里的查询执行为:column1 = 'column2' column1 中的所有值都由“column2”字符串更新,而不是由 column2 的值更新。
我该如何解决这个问题?
【问题讨论】: