我需要你对PostgreSQL的帮助。我有一个功课,我必须更新一个表的列并显示已更新的所有信息,但我必须使用一个命令来完成所有这些。更糟糕的是,我只能使用SELECT,UPDATE,SET,WHERE等基本子句。
这可能吗?我没有找到任何例子。
我尝试了几种组合:
SELECT * FROM customer
(UPDATE custumer SET bithdate = bithdate + INTERVAL '1 DAY'
WHERE bithcity = 'New York');
这不起作用!
答案 0 :(得分:2)
由于这是作业,我会为你留下一些东西。
开始阅读RETURNING
clause of the UPDATE
command in the manual。
另一种替代方案(对于更复杂的方案)是data-modifying CTE。你仍然需要RETURNING
条款。
或者您可以在一个声明中调用create a function,但这会违反您仅使用简单DML命令的要求。
如果允许多个语句,则另一个选项是简单的UPDATE
加上简单SELECT
包含在transaction中。