Tento článek uvádí SQL UPDATE syntaxe, jak je implementována různými systémy pro správu databází (DBMS). Syntaxe je uvedena přesně tak, jak ji každý prodejce uvedl na svých webových stránkách. Kliknutím na příslušný odkaz zobrazíte další podrobnosti o syntaxi pro konkrétního dodavatele.
Pokryté DBMS jsou MySQL, SQL Server, PostgreSQL a Oracle Database.
MySQL
Z referenční příručky MySQL 5.7.
Syntaxe jedné tabulky:
UPDATE [LOW_PRIORITY] [IGNORE]table_referenceSETcol_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}] ... [WHEREwhere_condition] [ORDER BY ...] [LIMITrow_count]
Syntaxe více tabulek:
UPDATE [LOW_PRIORITY] [IGNORE]table_referencesSETcol_name1={expr1|DEFAULT} [,col_name2={expr2|DEFAULT}] ... [WHEREwhere_condition]
SQL Server
Z Reference Transact-SQL:
[ WITH <common_table_expression> [...n] ]
UPDATE
[ TOP ( expression ) [ PERCENT ] ]
{ { table_alias | <object> | rowset_function_limited
[ WITH ( <Table_Hint_Limited> [ ...n ] ) ]
}
| @table_variable
}
SET
{ column_name = { expression | DEFAULT | NULL }
| { udt_column_name.{ { property_name = expression
| field_name = expression }
| method_name ( argument [ ,...n ] )
}
}
| column_name { .WRITE ( expression , @Offset , @Length ) }
| @variable = expression
| @variable = column = expression
| column_name { += | -= | *= | /= | %= | &= | ^= | |= } expression
| @variable { += | -= | *= | /= | %= | &= | ^= | |= } expression
| @variable = column { += | -= | *= | /= | %= | &= | ^= | |= } expression
} [ ,...n ]
[ <OUTPUT Clause> ]
[ FROM{ <table_source> } [ ,...n ] ]
[ WHERE { <search_condition>
| { [ CURRENT OF
{ { [ GLOBAL ] cursor_name }
| cursor_variable_name
}
]
}
}
]
[ OPTION ( <query_hint> [ ,...n ] ) ]
[ ; ]
<object> ::=
{
[ server_name . database_name . schema_name .
| database_name .[ schema_name ] .
| schema_name .
]
table_or_view_name} PostgreSQL
Z příručky PostgreSQL 9.5:
[ WITH [ RECURSIVE ] with_query [, ...] ]
UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
SET { column_name = { expression | DEFAULT } |
( column_name [, ...] ) = ( { expression | DEFAULT } [, ...] ) |
( column_name [, ...] ) = ( sub-SELECT )
} [, ...]
[ FROM from_list ]
[ WHERE condition | WHERE CURRENT OF cursor_name ]
[ RETURNING * | output_expression [ [ AS ] output_name ] [, ...] ] Databáze Oracle
Z online dokumentace databáze Oracle 12c Vydání 1 (12.1):
UPDATE [ hint ]
{ dml_table_expression_clause
| ONLY (dml_table_expression_clause)
} [ t_alias ]
update_set_clause
[ where_clause ]
[ returning_clause ]
[error_logging_clause] ; DML_table_expression_clause::=
{ [ schema. ]
{ table
[ partition_extension_clause
| @ dblink
]
| { view | materialized view } [ @ dblink ]
}
| ( subquery [ subquery_restriction_clause ] )
| table_collection_expression
} partition_extension_clause::=
{ PARTITION (partition)
| PARTITION FOR (partition_key_value [, partition_key_value]...)
| SUBPARTITION (subpartition)
| SUBPARTITION FOR (subpartition_key_value [, subpartition_key_value]...)
} subquery_restriction_clause ::=
WITH { READ ONLY
| CHECK OPTION
} [ CONSTRAINT constraint ] table_collection_expression ::=
TABLE (collection_expression) [ (+) ]
update_set_clause ::=
SET
{ { (column [, column ]...) = (subquery)
| column = { expr | (subquery) | DEFAULT }
}
[, { (column [, column]...) = (subquery)
| column = { expr | (subquery) | DEFAULT }
}
]...
| VALUE (t_alias) = { expr | (subquery) }
} where_klauzule ::=
WHERE condition
returning_clause::=
{ RETURN | RETURNING } expr [, expr ]...
INTO data_item [, data_item ]... error_logging_clause::=
LOG ERRORS
[ INTO [schema.] table ]
[ (simple_expression) ]
[ REJECT LIMIT { integer | UNLIMITED } ] O UPDATE Prohlášení
AKTUALIZACE příkaz změní hodnoty zadaných sloupců ve všech řádcích, které splňují podmínku. Do SET musí být zahrnuty pouze sloupce, které mají být upraveny doložka; sloupce, které nejsou explicitně upraveny, si zachovávají své předchozí hodnoty.