Hackfut Security File Manager
Current Path:
/opt/td-agent/embedded/share/man/man7
opt
/
td-agent
/
embedded
/
share
/
man
/
man7
/
📁
..
📄
ABORT.7
(2.17 KB)
📄
ALTER_AGGREGATE.7
(4.97 KB)
📄
ALTER_COLLATION.7
(2.8 KB)
📄
ALTER_CONVERSION.7
(2.89 KB)
📄
ALTER_DATABASE.7
(5.71 KB)
📄
ALTER_DEFAULT_PRIVILEGES.7
(6.34 KB)
📄
ALTER_DOMAIN.7
(6.96 KB)
📄
ALTER_EVENT_TRIGGER.7
(2.42 KB)
📄
ALTER_EXTENSION.7
(6.89 KB)
📄
ALTER_FOREIGN_DATA_WRAPPER.7
(4.56 KB)
📄
ALTER_FOREIGN_TABLE.7
(12.8 KB)
📄
ALTER_FUNCTION.7
(8.26 KB)
📄
ALTER_GROUP.7
(3.08 KB)
📄
ALTER_INDEX.7
(5.59 KB)
📄
ALTER_LANGUAGE.7
(2.1 KB)
📄
ALTER_LARGE_OBJECT.7
(1.97 KB)
📄
ALTER_MATERIALIZED_VIEW.7
(4.66 KB)
📄
ALTER_OPERATOR.7
(3.67 KB)
📄
ALTER_OPERATOR_CLASS.7
(2.86 KB)
📄
ALTER_OPERATOR_FAMILY.7
(9.12 KB)
📄
ALTER_POLICY.7
(2.88 KB)
📄
ALTER_ROLE.7
(9.04 KB)
📄
ALTER_RULE.7
(2.21 KB)
📄
ALTER_SCHEMA.7
(2.31 KB)
📄
ALTER_SEQUENCE.7
(7.53 KB)
📄
ALTER_SERVER.7
(3.41 KB)
📄
ALTER_SYSTEM.7
(3.8 KB)
📄
ALTER_TABLE.7
(35.2 KB)
📄
ALTER_TABLESPACE.7
(3.35 KB)
📄
ALTER_TEXT_SEARCH_CONFIGURATION.7
(4.79 KB)
📄
ALTER_TEXT_SEARCH_DICTIONARY.7
(4.02 KB)
📄
ALTER_TEXT_SEARCH_PARSER.7
(2.23 KB)
📄
ALTER_TEXT_SEARCH_TEMPLATE.7
(2.26 KB)
📄
ALTER_TRIGGER.7
(2.98 KB)
📄
ALTER_TYPE.7
(7.15 KB)
📄
ALTER_USER.7
(2.66 KB)
📄
ALTER_USER_MAPPING.7
(3.26 KB)
📄
ALTER_VIEW.7
(4.67 KB)
📄
ANALYZE.7
(7.67 KB)
📄
BEGIN.7
(4.06 KB)
📄
CHECKPOINT.7
(2.29 KB)
📄
CLOSE.7
(2.72 KB)
📄
CLUSTER.7
(6.23 KB)
📄
COMMENT.7
(10.2 KB)
📄
COMMIT.7
(2.1 KB)
📄
COMMIT_PREPARED.7
(2.58 KB)
📄
COPY.7
(29.88 KB)
📄
CREATE_ACCESS_METHOD.7
(2.9 KB)
📄
CREATE_AGGREGATE.7
(23.35 KB)
📄
CREATE_CAST.7
(13.55 KB)
📄
CREATE_COLLATION.7
(3.97 KB)
📄
CREATE_CONVERSION.7
(3.78 KB)
📄
CREATE_DATABASE.7
(8.48 KB)
📄
CREATE_DOMAIN.7
(6.52 KB)
📄
CREATE_EVENT_TRIGGER.7
(3.74 KB)
📄
CREATE_EXTENSION.7
(6.57 KB)
📄
CREATE_FOREIGN_DATA_WRAPPER.7
(4.96 KB)
📄
CREATE_FOREIGN_TABLE.7
(9 KB)
📄
CREATE_FUNCTION.7
(24.73 KB)
📄
CREATE_GROUP.7
(2.11 KB)
📄
CREATE_INDEX.7
(19.56 KB)
📄
CREATE_LANGUAGE.7
(9.83 KB)
📄
CREATE_MATERIALIZED_VIEW.7
(4.21 KB)
📄
CREATE_OPERATOR.7
(6.88 KB)
📄
CREATE_OPERATOR_CLASS.7
(8.52 KB)
📄
CREATE_OPERATOR_FAMILY.7
(3.6 KB)
📄
CREATE_POLICY.7
(15.92 KB)
📄
CREATE_ROLE.7
(12.69 KB)
📄
CREATE_RULE.7
(8.63 KB)
📄
CREATE_SCHEMA.7
(6.15 KB)
📄
CREATE_SEQUENCE.7
(9.79 KB)
📄
CREATE_SERVER.7
(3.63 KB)
📄
CREATE_TABLE.7
(42.1 KB)
📄
CREATE_TABLESPACE.7
(4.47 KB)
📄
CREATE_TABLE_AS.7
(7.8 KB)
📄
CREATE_TEXT_SEARCH_CONFIGURATION.7
(3.19 KB)
📄
CREATE_TEXT_SEARCH_DICTIONARY.7
(3.34 KB)
📄
CREATE_TEXT_SEARCH_PARSER.7
(3.56 KB)
📄
CREATE_TEXT_SEARCH_TEMPLATE.7
(3.38 KB)
📄
CREATE_TRANSFORM.7
(5.79 KB)
📄
CREATE_TRIGGER.7
(16.3 KB)
📄
CREATE_TYPE.7
(28.96 KB)
📄
CREATE_USER.7
(2.45 KB)
📄
CREATE_USER_MAPPING.7
(3.27 KB)
📄
CREATE_VIEW.7
(14.63 KB)
📄
DEALLOCATE.7
(1.98 KB)
📄
DECLARE.7
(10.22 KB)
📄
DELETE.7
(7.36 KB)
📄
DISCARD.7
(2.81 KB)
📄
DO.7
(3.08 KB)
📄
DROP_ACCESS_METHOD.7
(2.35 KB)
📄
DROP_AGGREGATE.7
(3.8 KB)
📄
DROP_CAST.7
(2.26 KB)
📄
DROP_COLLATION.7
(2.42 KB)
📄
DROP_CONVERSION.7
(2.36 KB)
📄
DROP_DATABASE.7
(2.38 KB)
📄
DROP_DOMAIN.7
(2.34 KB)
📄
DROP_EVENT_TRIGGER.7
(2.38 KB)
📄
DROP_EXTENSION.7
(2.73 KB)
📄
DROP_FOREIGN_DATA_WRAPPER.7
(2.61 KB)
📄
DROP_FOREIGN_TABLE.7
(2.59 KB)
📄
DROP_FUNCTION.7
(3.35 KB)
📄
DROP_GROUP.7
(1.57 KB)
📄
DROP_INDEX.7
(3.08 KB)
📄
DROP_LANGUAGE.7
(2.86 KB)
📄
DROP_MATERIALIZED_VIEW.7
(2.64 KB)
📄
DROP_OPERATOR.7
(3.01 KB)
📄
DROP_OPERATOR_CLASS.7
(3.48 KB)
📄
DROP_OPERATOR_FAMILY.7
(3.24 KB)
📄
DROP_OWNED.7
(3.14 KB)
📄
DROP_POLICY.7
(2.53 KB)
📄
DROP_ROLE.7
(3.05 KB)
📄
DROP_RULE.7
(2.35 KB)
📄
DROP_SCHEMA.7
(2.76 KB)
📄
DROP_SEQUENCE.7
(2.46 KB)
📄
DROP_SERVER.7
(2.39 KB)
📄
DROP_TABLE.7
(2.97 KB)
📄
DROP_TABLESPACE.7
(2.48 KB)
📄
DROP_TEXT_SEARCH_CONFIGURATION.7
(2.83 KB)
📄
DROP_TEXT_SEARCH_DICTIONARY.7
(2.75 KB)
📄
DROP_TEXT_SEARCH_PARSER.7
(2.66 KB)
📄
DROP_TEXT_SEARCH_TEMPLATE.7
(2.69 KB)
📄
DROP_TRANSFORM.7
(2.59 KB)
📄
DROP_TRIGGER.7
(2.6 KB)
📄
DROP_TYPE.7
(2.53 KB)
📄
DROP_USER.7
(1.65 KB)
📄
DROP_USER_MAPPING.7
(2.56 KB)
📄
DROP_VIEW.7
(2.43 KB)
📄
END.7
(2.19 KB)
📄
EXECUTE.7
(2.9 KB)
📄
EXPLAIN.7
(13.03 KB)
📄
FETCH.7
(8.48 KB)
📄
GRANT.7
(21.29 KB)
📄
IMPORT_FOREIGN_SCHEMA.7
(3.98 KB)
📄
INSERT.7
(19.61 KB)
📄
LISTEN.7
(3.51 KB)
📄
LOAD.7
(2.54 KB)
📄
LOCK.7
(8.01 KB)
📄
MOVE.7
(2.92 KB)
📄
NOTIFY.7
(8.21 KB)
📄
PREPARE.7
(8.2 KB)
📄
PREPARE_TRANSACTION.7
(5.74 KB)
📄
REASSIGN_OWNED.7
(3.01 KB)
📄
REFRESH_MATERIALIZED_VIEW.7
(3.92 KB)
📄
REINDEX.7
(7.69 KB)
📄
RELEASE_SAVEPOINT.7
(3 KB)
📄
RESET.7
(2.93 KB)
📄
REVOKE.7
(10.44 KB)
📄
ROLLBACK.7
(2.09 KB)
📄
ROLLBACK_PREPARED.7
(2.6 KB)
📄
ROLLBACK_TO_SAVEPOINT.7
(3.94 KB)
📄
SAVEPOINT.7
(3.5 KB)
📄
SECURITY_LABEL.7
(5.39 KB)
📄
SELECT.7
(63.33 KB)
📄
SELECT_INTO.7
(4.37 KB)
📄
SET.7
(7.57 KB)
📄
SET_CONSTRAINTS.7
(4.48 KB)
📄
SET_ROLE.7
(4.36 KB)
📄
SET_SESSION_AUTHORIZATION.7
(3.88 KB)
📄
SET_TRANSACTION.7
(8.27 KB)
📄
SHOW.7
(4.22 KB)
📄
START_TRANSACTION.7
(2.9 KB)
📄
TABLE.7
(18 B)
📄
TRUNCATE.7
(6.39 KB)
📄
UNLISTEN.7
(2.75 KB)
📄
UPDATE.7
(12.26 KB)
📄
VACUUM.7
(7.92 KB)
📄
VALUES.7
(6.94 KB)
📄
WITH.7
(18 B)
Editing: UPDATE.7
'\" t .\" Title: UPDATE .\" Author: The PostgreSQL Global Development Group .\" Generator: DocBook XSL Stylesheets v1.79.1 <http://docbook.sf.net/> .\" Date: 2018 .\" Manual: PostgreSQL 9.6.9 Documentation .\" Source: PostgreSQL 9.6.9 .\" Language: English .\" .TH "UPDATE" "7" "2018" "PostgreSQL 9.6.9" "PostgreSQL 9.6.9 Documentation" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" UPDATE \- update rows of a table .SH "SYNOPSIS" .sp .nf [ WITH [ RECURSIVE ] \fIwith_query\fR [, \&.\&.\&.] ] UPDATE [ ONLY ] \fItable_name\fR [ * ] [ [ AS ] \fIalias\fR ] SET { \fIcolumn_name\fR = { \fIexpression\fR | DEFAULT } | ( \fIcolumn_name\fR [, \&.\&.\&.] ) = ( { \fIexpression\fR | DEFAULT } [, \&.\&.\&.] ) | ( \fIcolumn_name\fR [, \&.\&.\&.] ) = ( \fIsub\-SELECT\fR ) } [, \&.\&.\&.] [ FROM \fIfrom_list\fR ] [ WHERE \fIcondition\fR | WHERE CURRENT OF \fIcursor_name\fR ] [ RETURNING * | \fIoutput_expression\fR [ [ AS ] \fIoutput_name\fR ] [, \&.\&.\&.] ] .fi .SH "DESCRIPTION" .PP \fBUPDATE\fR changes the values of the specified columns in all rows that satisfy the condition\&. Only the columns to be modified need be mentioned in the SET clause; columns not explicitly modified retain their previous values\&. .PP There are two ways to modify a table using information contained in other tables in the database: using sub\-selects, or specifying additional tables in the FROM clause\&. Which technique is more appropriate depends on the specific circumstances\&. .PP The optional RETURNING clause causes \fBUPDATE\fR to compute and return value(s) based on each row actually updated\&. Any expression using the table\*(Aqs columns, and/or columns of other tables mentioned in FROM, can be computed\&. The new (post\-update) values of the table\*(Aqs columns are used\&. The syntax of the RETURNING list is identical to that of the output list of \fBSELECT\fR\&. .PP You must have the UPDATE privilege on the table, or at least on the column(s) that are listed to be updated\&. You must also have the SELECT privilege on any column whose values are read in the \fIexpressions\fR or \fIcondition\fR\&. .SH "PARAMETERS" .PP \fIwith_query\fR .RS 4 The WITH clause allows you to specify one or more subqueries that can be referenced by name in the \fBUPDATE\fR query\&. See Section 7.8, \(lqWITH Queries (Common Table Expressions)\(rq, in the documentation and \fBSELECT\fR(7) for details\&. .RE .PP \fItable_name\fR .RS 4 The name (optionally schema\-qualified) of the table to update\&. If ONLY is specified before the table name, matching rows are updated in the named table only\&. If ONLY is not specified, matching rows are also updated in any tables inheriting from the named table\&. Optionally, * can be specified after the table name to explicitly indicate that descendant tables are included\&. .RE .PP \fIalias\fR .RS 4 A substitute name for the target table\&. When an alias is provided, it completely hides the actual name of the table\&. For example, given UPDATE foo AS f, the remainder of the \fBUPDATE\fR statement must refer to this table as f not foo\&. .RE .PP \fIcolumn_name\fR .RS 4 The name of a column in the table named by \fItable_name\fR\&. The column name can be qualified with a subfield name or array subscript, if needed\&. Do not include the table\*(Aqs name in the specification of a target column \(em for example, UPDATE table_name SET table_name\&.col = 1 is invalid\&. .RE .PP \fIexpression\fR .RS 4 An expression to assign to the column\&. The expression can use the old values of this and other columns in the table\&. .RE .PP DEFAULT .RS 4 Set the column to its default value (which will be NULL if no specific default expression has been assigned to it)\&. .RE .PP \fIsub\-SELECT\fR .RS 4 A SELECT sub\-query that produces as many output columns as are listed in the parenthesized column list preceding it\&. The sub\-query must yield no more than one row when executed\&. If it yields one row, its column values are assigned to the target columns; if it yields no rows, NULL values are assigned to the target columns\&. The sub\-query can refer to old values of the current row of the table being updated\&. .RE .PP \fIfrom_list\fR .RS 4 A list of table expressions, allowing columns from other tables to appear in the WHERE condition and the update expressions\&. This is similar to the list of tables that can be specified in the FROM Clause of a \fBSELECT\fR statement\&. Note that the target table must not appear in the \fIfrom_list\fR, unless you intend a self\-join (in which case it must appear with an alias in the \fIfrom_list\fR)\&. .RE .PP \fIcondition\fR .RS 4 An expression that returns a value of type boolean\&. Only rows for which this expression returns true will be updated\&. .RE .PP \fIcursor_name\fR .RS 4 The name of the cursor to use in a WHERE CURRENT OF condition\&. The row to be updated is the one most recently fetched from this cursor\&. The cursor must be a non\-grouping query on the \fBUPDATE\fR\*(Aqs target table\&. Note that WHERE CURRENT OF cannot be specified together with a Boolean condition\&. See \fBDECLARE\fR(7) for more information about using cursors with WHERE CURRENT OF\&. .RE .PP \fIoutput_expression\fR .RS 4 An expression to be computed and returned by the \fBUPDATE\fR command after each row is updated\&. The expression can use any column names of the table named by \fItable_name\fR or table(s) listed in FROM\&. Write * to return all columns\&. .RE .PP \fIoutput_name\fR .RS 4 A name to use for a returned column\&. .RE .SH "OUTPUTS" .PP On successful completion, an \fBUPDATE\fR command returns a command tag of the form .sp .if n \{\ .RS 4 .\} .nf UPDATE \fIcount\fR .fi .if n \{\ .RE .\} .sp The \fIcount\fR is the number of rows updated, including matched rows whose values did not change\&. Note that the number may be less than the number of rows that matched the \fIcondition\fR when updates were suppressed by a BEFORE UPDATE trigger\&. If \fIcount\fR is 0, no rows were updated by the query (this is not considered an error)\&. .PP If the \fBUPDATE\fR command contains a RETURNING clause, the result will be similar to that of a \fBSELECT\fR statement containing the columns and values defined in the RETURNING list, computed over the row(s) updated by the command\&. .SH "NOTES" .PP When a FROM clause is present, what essentially happens is that the target table is joined to the tables mentioned in the \fIfrom_list\fR, and each output row of the join represents an update operation for the target table\&. When using FROM you should ensure that the join produces at most one output row for each row to be modified\&. In other words, a target row shouldn\*(Aqt join to more than one row from the other table(s)\&. If it does, then only one of the join rows will be used to update the target row, but which one will be used is not readily predictable\&. .PP Because of this indeterminacy, referencing other tables only within sub\-selects is safer, though often harder to read and slower than using a join\&. .SH "EXAMPLES" .PP Change the word Drama to Dramatic in the column kind of the table films: .sp .if n \{\ .RS 4 .\} .nf UPDATE films SET kind = \*(AqDramatic\*(Aq WHERE kind = \*(AqDrama\*(Aq; .fi .if n \{\ .RE .\} .PP Adjust temperature entries and reset precipitation to its default value in one row of the table weather: .sp .if n \{\ .RS 4 .\} .nf UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT WHERE city = \*(AqSan Francisco\*(Aq AND date = \*(Aq2003\-07\-03\*(Aq; .fi .if n \{\ .RE .\} .PP Perform the same operation and return the updated entries: .sp .if n \{\ .RS 4 .\} .nf UPDATE weather SET temp_lo = temp_lo+1, temp_hi = temp_lo+15, prcp = DEFAULT WHERE city = \*(AqSan Francisco\*(Aq AND date = \*(Aq2003\-07\-03\*(Aq RETURNING temp_lo, temp_hi, prcp; .fi .if n \{\ .RE .\} .PP Use the alternative column\-list syntax to do the same update: .sp .if n \{\ .RS 4 .\} .nf UPDATE weather SET (temp_lo, temp_hi, prcp) = (temp_lo+1, temp_lo+15, DEFAULT) WHERE city = \*(AqSan Francisco\*(Aq AND date = \*(Aq2003\-07\-03\*(Aq; .fi .if n \{\ .RE .\} .PP Increment the sales count of the salesperson who manages the account for Acme Corporation, using the FROM clause syntax: .sp .if n \{\ .RS 4 .\} .nf UPDATE employees SET sales_count = sales_count + 1 FROM accounts WHERE accounts\&.name = \*(AqAcme Corporation\*(Aq AND employees\&.id = accounts\&.sales_person; .fi .if n \{\ .RE .\} .PP Perform the same operation, using a sub\-select in the WHERE clause: .sp .if n \{\ .RS 4 .\} .nf UPDATE employees SET sales_count = sales_count + 1 WHERE id = (SELECT sales_person FROM accounts WHERE name = \*(AqAcme Corporation\*(Aq); .fi .if n \{\ .RE .\} .PP Update contact names in an accounts table to match the currently assigned salesmen: .sp .if n \{\ .RS 4 .\} .nf UPDATE accounts SET (contact_first_name, contact_last_name) = (SELECT first_name, last_name FROM salesmen WHERE salesmen\&.id = accounts\&.sales_id); .fi .if n \{\ .RE .\} .sp A similar result could be accomplished with a join: .sp .if n \{\ .RS 4 .\} .nf UPDATE accounts SET contact_first_name = first_name, contact_last_name = last_name FROM salesmen WHERE salesmen\&.id = accounts\&.sales_id; .fi .if n \{\ .RE .\} .sp However, the second query may give unexpected results if salesmen\&.id is not a unique key, whereas the first query is guaranteed to raise an error if there are multiple id matches\&. Also, if there is no match for a particular accounts\&.sales_id entry, the first query will set the corresponding name fields to NULL, whereas the second query will not update that row at all\&. .PP Update statistics in a summary table to match the current data: .sp .if n \{\ .RS 4 .\} .nf UPDATE summary s SET (sum_x, sum_y, avg_x, avg_y) = (SELECT sum(x), sum(y), avg(x), avg(y) FROM data d WHERE d\&.group_id = s\&.group_id); .fi .if n \{\ .RE .\} .PP Attempt to insert a new stock item along with the quantity of stock\&. If the item already exists, instead update the stock count of the existing item\&. To do this without failing the entire transaction, use savepoints: .sp .if n \{\ .RS 4 .\} .nf BEGIN; \-\- other operations SAVEPOINT sp1; INSERT INTO wines VALUES(\*(AqChateau Lafite 2003\*(Aq, \*(Aq24\*(Aq); \-\- Assume the above fails because of a unique key violation, \-\- so now we issue these commands: ROLLBACK TO sp1; UPDATE wines SET stock = stock + 24 WHERE winename = \*(AqChateau Lafite 2003\*(Aq; \-\- continue with other operations, and eventually COMMIT; .fi .if n \{\ .RE .\} .PP Change the kind column of the table films in the row on which the cursor c_films is currently positioned: .sp .if n \{\ .RS 4 .\} .nf UPDATE films SET kind = \*(AqDramatic\*(Aq WHERE CURRENT OF c_films; .fi .if n \{\ .RE .\} .SH "COMPATIBILITY" .PP This command conforms to the SQL standard, except that the FROM and RETURNING clauses are PostgreSQL extensions, as is the ability to use WITH with \fBUPDATE\fR\&. .PP Some other database systems offer a FROM option in which the target table is supposed to be listed again within FROM\&. That is not how PostgreSQL interprets FROM\&. Be careful when porting applications that use this extension\&. .PP According to the standard, the source value for a parenthesized sub\-list of column names can be any row\-valued expression yielding the correct number of columns\&. PostgreSQL only allows the source value to be a parenthesized list of expressions or a sub\-SELECT\&. An individual column\*(Aqs updated value can be specified as DEFAULT in the list\-of\-expressions case, but not inside a sub\-SELECT\&.
Upload File
Create Folder