Oracle tcl:将columnName动态传递给SQL更新查询

Oracle tcl:将columnName动态传递给SQL更新查询,oracle,tcl,dynamic-sql,Oracle,Tcl,Dynamic Sql,我正在尝试将columnName传递给tcl sql更新查询。我知道我可以通过[list:substitutedParam$itsValue]格式传递列的动态值,我已经设置了变量itsValue的值,但我无法使其与update一起工作。以下是我正在尝试的: set returncode [catch { SQL "UPDATE schemaName.TableName SET :columnName='u' WHERE key=$keyValue" [list columnName $attr

我正在尝试将columnName传递给tcl sql更新查询。我知道我可以通过[list:substitutedParam$itsValue]格式传递列的动态值,我已经设置了变量
itsValue
的值,但我无法使其与update一起工作。以下是我正在尝试的:

set returncode [catch { SQL "UPDATE schemaName.TableName SET :columnName='u' WHERE key=$keyValue" [list columnName $attr ]} result]
在上面,我寻找的唯一解决方案是:在我喜欢的时间和内容传递columnName,这样我就可以使用相同的sql查询来更新多个列(当然不是同时更新)


我可能错了,但我认为您只能使用带有值的参数

set returncode [catch {
    SQL "UPDATE schemaName.TableName SET $attr='u' WHERE key=:key" [list key $keyValue]
} result]

谢谢不知何故,我们仍然可以替换表名,但不能替换列名。设置col1Value“MyCalValue”设置tabName“myTab”SQL“更新模式名.$tabName设置col2='u'其中col1=$col1Value”
set returncode [catch {
    SQL "UPDATE schemaName.TableName SET $attr='u' WHERE key=:key" [list key $keyValue]
} result]