1

我需要你对 PostgreSQL 的帮助。我有一个作业,我必须更新表格的一列并显示所有已更新的信息,但我必须使用一个命令来完成所有这些工作。更糟糕的是,我只能使用 SELECT、UPDATE、SET、WHERE 等基本子句。

这可能吗?我没有找到任何例子。

我尝试了几种组合,例如:

SELECT * FROM customer 
(UPDATE custumer SET bithdate = bithdate + INTERVAL '1 DAY'
 WHERE   bithcity = 'New York');

这没有用!

4

1 回答 1

2

既然这是作业,我会给你留点东西。

单条 SQL 语句

开始阅读手册中有关命令的RETURNING子句UPDATE

另一种选择(对于更复杂的场景)是数据修改 CTE。你仍然需要这个RETURNING子句。

或者您可以创建一个可以在单个语句中调用的函数,但这会违反您仅使用简单 DML 命令的要求。

单笔交易

如果允许多条语句,另一种选择是将简单UPDATE加上简单SELECT包装到事务中。

于 2013-04-13T20:13:23.277 回答