【发布时间】:2018-10-09 11:07:41
【问题描述】:
我已将其缩小到两种可能性 - DynamicSQL 和使用 case 语句。
但是,我在这两个方面都失败了。
我只是不了解 dynamicSQL,以及我将如何使用它。
这是我使用 case 语句的尝试;许多失败的变体之一。
SELECT column_name,
CASE WHEN column_name = 'address' THEN (**update statement gives syntax error within here**)
END
FROM information_schema.columns
WHERE table_name = 'employees';
总的来说,我正在使用 Axios 与我的 Node 服务器通信,该服务器正在使用 Massivejs 调用我的 Heroku 数据库。
也许这不是要走的路 - 所以这是我的主要问题:
我遇到了麻烦,因为我计划用作列名的值作为字符串发送到我的服务器。我一直在尝试使用的确切调用是
update employees
set $1 = $2
where employee_id = $3;
再一次,我将传递给那些使用大规模的人。
我收到错误消息{ error: syntax error at or near "'address'"},因为我的传入值是字符串。我的想法是,上面的语句允许我使用变量,因为'address' 是用引号封装的。
但是很可惜,我的思维过程失败了。
这似乎接近回答我的问题,但如果使用动态 SQL,我似乎无法弄清楚在我的情况下该怎么做。
How to use dynamic column names in an UPDATE or SELECT statement in a function?
提前致谢。
【问题讨论】:
标签: postgresql massivejs