我真的无法找到包含所有关键字的示例 更新postgres命令。
语法为:
UPDATE [ ONLY ] table [ [ AS ] alias ]
SET{ column = {expression | DEFAULT}}
[,...][FROM fromlist][WHERE condition]
不知道如何仅使用,别名,exp或默认,fromlist。 管理到目前为止只了解和使用下面。需要有关如何使用的帮助 其余的关键字。
UPDATE cds SET temp_min = temp_min-1,
temp_max = temp_min + 20, rainfall = 0
WHERE (river = 'Mal') AND (datac > '2010-12-12')
AND (datac < '2011-12-12');
答案 0 :(得分:0)
您只需仔细阅读文档即可。 PostgreSQL有一个非常好的文档。关于&#39; ONLY&#39;它states:
如果在表名之前指定了ONLY,则会更新匹配的行 仅在指定的表中。 如果未指定ONLY,则匹配行 还在从命名表继承的任何表中更新。 (可选)可以在表名后明确指定* 表明包含了后代表。
由于PostgreSQL支持inheritance,UPDATE语句也可能会更改继承指定表的表的行,这可能是不合需要的。
{expression | DEFAULT}
表示您可以将列指定为 NULL (默认)或任何表达式,例如1+1
,power(2,4)
。
答案 1 :(得分:0)
以下是一个示例更新语句,它使用您询问的元素:
update foobar as foo -- "foo" is an alias for the table foobar
set
column_1 = default, -- this sets the column to the default value defined in the CREATE TABLE statement
column_2 = (column_3 + column_4) * 42-- this is an expression
from other_table -- this is the fromlist
where other_table.fid = foo.id -- this uses the "foo" alias
如果您使用table inheritance,则关键字ONLY
才有意义。