我有一个简单的postgresql表,定义如下:
CREATE TABLE t_s (
a integer,
b integer
);如果我执行一个简单的update语句UPDATE t_s SET a=1 WHERE b=1,我会得到一个错误:
Chyba SQL:
ERROR: syntax error at or near "SET"
LINE 1: SELECT COUNT(*) AS total FROM (UPDATE t_s SET a=1 WHERE b=1)...
^
Ve výrazu:
SELECT COUNT(*) AS total FROM (UPDATE t_s SET a=1 WHERE b=1) AS sub这句话有什么地方会出错吗?我看不出这个错误的任何原因。我使用的是PostgreSQL 9.1.6。
发布于 2013-01-24 19:32:57
为此,您需要一个common table expression:
WITH cte AS (
UPDATE t_s SET a=1 WHERE b=1 RETURNING a
)
SELECT COUNT(*) AS total FROM cte;数据修改语句从版本9.1开始可用
https://stackoverflow.com/questions/14500100
复制相似问题