我需要你在 PostgreSQL 方面的帮助。我有一个家庭作业,我必须更新表的一列并显示所有已更新的信息,但我必须使用一个命令来完成所有这些。更糟糕的是,我只能使用基本的子句,如 SELECT、UPDATE、SET、WHERE 等。
这可能吗?我没有找到任何例子。
我尝试了几种组合,例如:
SELECT * FROM customer
(UPDATE custumer SET bithdate = bithdate + INTERVAL '1 DAY'
WHERE bithcity = 'New York');
这没有用!
最佳答案
因为这是作业,所以我给你留点东西。
单个SQL语句
开始阅读 RETURNING
clause of the UPDATE
command in the manual .
另一种选择(对于更复杂的场景)是 data-modifying CTE .为此,您仍然需要 RETURNING
子句。
或者你可以 create a function您可以在单个语句中调用,但这会违反您仅使用简单 DML 命令的要求。
单笔交易
如果允许多个语句,另一种选择是简单的 UPDATE
加上简单的 SELECT
包装到 transaction 中.
关于sql - 使用单个 SQL 命令更新表并显示更新的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15992365/