首页 > 解决方案 > tcl :将 columnName 动态传递给 SQL 更新查询

问题描述

我正在尝试将 columnName 传递给 tcl sql 更新查询。我知道我可以传递具有 [list :desiredParam $itsValue] 格式的列的动态值,其中我已经设置了变量的值,itsValue但我无法使其与更新一起使用。这是我正在尝试的:

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

在上面,我正在寻找的唯一解决方案是:是否可以在何时以及我更喜欢什么时传递 columnName,以便我可以使用相同的 sql 查询来更新多个列(而不是同时偏离)。

tcl version :8.4
database: Oracle 18c

标签: oracletcldynamic-sql

解决方案


我可能错了,但我认为您只能将参数与查询的部分一起使用

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

推荐阅读