.\" auto-generated by docbook2man-spec $Revision: 1.1 $ .TH "UPDATE" "7" "2003-11-02" "SQL - Language Statements" "SQL Commands" .SH NAME UPDATE \- 更新一个表中的行 .SH SYNOPSIS .sp .nf UPDATE [ ONLY ] \fItable\fR SET \fIcolumn\fR = { \fIexpression\fR | DEFAULT } [, ...] [ FROM \fIfromlist\fR ] [ WHERE \fIcondition\fR ] .sp .fi .SH "DESCRIPTION 描述" .PP \fBUPDATE\fR 改变满足条件的所有行的声明了的列/字段的值。 只有要更改的列/字段需要在语句中出现,没有明确的 SET 的字段保持它们原来的数值。 .PP 缺省时,UPDATE 将更新所声明的表和所有子表的记录。 如果你希望只更新所声明的表,你应该使用 ONLY 子句。 .PP 要更改表,你必须对它有UPDATE 权限, 同样对 expression 或者 condition 条件里提到的任何表也要有SELECT权限。 .SH "PARAMETERS 参数" .TP \fB\fItable\fB\fR 现存表的名称(可以有模式修饰)。 .TP \fB\fIcolumn\fB\fR 表 table 中列/字段的名。 .TP \fB\fIexpression\fB\fR 赋予列/字段的一个有效的值或表达式。表达式可以使用表中这个或其它字段的旧数值。 .TP \fBDEFAULT\fR 把字段设置为它的缺省值(如果没有缺省表达式赋予它,那么就是 NULL)。 .TP \fB\fIfromlist\fB\fR 一个表达式的列表,允许来自其它表中的列/字段出现在 WHERE 条件里。 .TP \fB\fIcondition\fB\fR 一个表达式,返回 boolean 类型。只有这个表达式返回 true 的行被更新。 .SH "OUTPUTS 输出" .PP 成功完成后,UPDATE 命令返回形如 .sp .nf UPDATE \fIcount\fR .sp .fi 的命令标签。count 是更新的行数。 如果 count 是 0, 那么没有符合 condition 的行(这个不认为是错误)。 .SH "EXAMPLES 例子" .PP 把表 films 里的字段 kind 里的词 Drama 用Dramatic 代替: .sp .nf UPDATE films SET kind = 'Dramatic' WHERE kind = 'Drama'; .sp .fi .PP 调整表 weather 中的一行的温度记录并且把降水设置为缺省值: .sp .nf UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT WHERE city = 'San Francisco' AND date = '2003-07-03'; .sp .fi .SH "COMPATIBILITY 兼容性" .PP 这条命令遵循 SQL 标准。FROM 子句是 PostgreSQL 扩展。 .SH "译者" .B Postgresql 中文网站 .B 何伟平 .SH "跋" .br 本页面中文版由中文 man 手册页计划提供。 .br 中文 man 手册页计划:\fBhttps://github.com/man-pages-zh/manpages-zh\fR