欢迎来到天天文库
浏览记录
ID:34726246
大小:58.86 KB
页数:12页
时间:2019-03-10
《sql的update语句功能非常强大》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、语法UPDATE{table_nameWITH([...n])
2、view_name
3、rowset_function_limited}SET{column_name={expression
4、DEFAULT
5、NULL}
6、@variable=expression
7、@variable=column=expression}[,...n]{{[FROM{}[,...n]][WHERE]}
8、[WHERECURRENTOF{{[GLOBAL]cursor_name}
9、cursor_variable_n
10、ame}]}[OPTION([,...n])]::=table_name[[AS]table_alias][WITH([,...n])]
11、view_name[[AS]table_alias]
12、rowset_function[[AS]table_alias]
13、derived_table[AS]table_alias[(column_alias[,...n])]
14、::=ON15、h_condition>16、CROSSJOIN17、::=[INNER18、{{LEFT19、RIGHT20、FULL}[OUTER]}][]JOIN::={FASTFIRSTROW21、HOLDLOCK22、PAGLOCK23、READCOMMITTED24、REPEATABLEREAD25、ROWLOCK26、SERIALIZABLE27、TABLOCK28、TABLOCKX29、UPDLOCK}::={INDEX(index_val[,...n]30、)31、FASTFIRSTROW32、HOLDLOCK33、NOLOCK34、PAGLOCK35、READCOMMITTED36、READPAST37、READUNCOMMITTED38、REPEATABLEREAD39、ROWLOCK40、SERIALIZABLE41、TABLOCK42、TABLOCKX43、UPDLOCK}::={{HASH44、ORDER}GROUP45、{CONCAT46、HASH47、MERGE}UNION48、{LOOP49、MERGE50、HASH}JOIN51、FASTnumber_rows52、FORCEORDER53、MAXDOP54、ROBUSTPLAN55、KEEPPLAN}参数table_name需要更新的表的名称。如56、果该表不在当前服务器或数据库中,或不为当前用户所有,这个名称可用链接服务器、数据库和所有者名称来限定。WITH([...n])指定目标表所允许的一个或多个表提示。需要有WITH关键字和圆括号。不允许有READPAST、NOLOCK和READUNCOMMITTED。有关表提示的信息,请参见FROM。view_name要更新的视图的名称。通过view_name来引用的视图必须是可更新的。用UPDATE语句进行的修改,至多只能影响视图的FROM子句所引用的基表中的一个。有关可更新视图的更多信息,请参见CREATEVIEW。rowset_function_57、limitedOPENQUERY或OPENROWSET函数,视提供程序功能而定。有关提供程序所需功能的更多信息,请参见OLEDB提供程序的UPDATE和DELETE语句要求。有关行集函数的更多信息,请参见OPENQUERY和OPENROWSET。SET指定要更新的列或变量名称的列表。column_name含有要更改数据的列的名称。column_name必须驻留于UPDATE子句中所指定的表或视图中。标识列不能进行更新。如果指定了限定的列名称,限定符必须同UPDATE子句中的表或视图的名称相匹配。例如,下面的内容有效:UPDATEauthorsSETauthors.au_fname='An58、nie'WHEREau_fname='Anne'FROM子句中指定的表的别名不能作为SETcolumn_name子句中的限定符使用。例如,下面的内容无效:UPDATEtitlesSETt.ytd_sales=t.ytd_sales+s.qtyFROMtitlest,salessWHEREt.title_id=s.title_idANDs.ord_date=(SELECTMAX(sales.ord_date)FROMsales)若要使
15、h_condition>
16、CROSSJOIN
17、::=[INNER
18、{{LEFT
19、RIGHT
20、FULL}[OUTER]}][]JOIN::={FASTFIRSTROW
21、HOLDLOCK
22、PAGLOCK
23、READCOMMITTED
24、REPEATABLEREAD
25、ROWLOCK
26、SERIALIZABLE
27、TABLOCK
28、TABLOCKX
29、UPDLOCK}::={INDEX(index_val[,...n]
30、)
31、FASTFIRSTROW
32、HOLDLOCK
33、NOLOCK
34、PAGLOCK
35、READCOMMITTED
36、READPAST
37、READUNCOMMITTED
38、REPEATABLEREAD
39、ROWLOCK
40、SERIALIZABLE
41、TABLOCK
42、TABLOCKX
43、UPDLOCK}::={{HASH
44、ORDER}GROUP
45、{CONCAT
46、HASH
47、MERGE}UNION
48、{LOOP
49、MERGE
50、HASH}JOIN
51、FASTnumber_rows
52、FORCEORDER
53、MAXDOP
54、ROBUSTPLAN
55、KEEPPLAN}参数table_name需要更新的表的名称。如
56、果该表不在当前服务器或数据库中,或不为当前用户所有,这个名称可用链接服务器、数据库和所有者名称来限定。WITH([...n])指定目标表所允许的一个或多个表提示。需要有WITH关键字和圆括号。不允许有READPAST、NOLOCK和READUNCOMMITTED。有关表提示的信息,请参见FROM。view_name要更新的视图的名称。通过view_name来引用的视图必须是可更新的。用UPDATE语句进行的修改,至多只能影响视图的FROM子句所引用的基表中的一个。有关可更新视图的更多信息,请参见CREATEVIEW。rowset_function_
57、limitedOPENQUERY或OPENROWSET函数,视提供程序功能而定。有关提供程序所需功能的更多信息,请参见OLEDB提供程序的UPDATE和DELETE语句要求。有关行集函数的更多信息,请参见OPENQUERY和OPENROWSET。SET指定要更新的列或变量名称的列表。column_name含有要更改数据的列的名称。column_name必须驻留于UPDATE子句中所指定的表或视图中。标识列不能进行更新。如果指定了限定的列名称,限定符必须同UPDATE子句中的表或视图的名称相匹配。例如,下面的内容有效:UPDATEauthorsSETauthors.au_fname='An
58、nie'WHEREau_fname='Anne'FROM子句中指定的表的别名不能作为SETcolumn_name子句中的限定符使用。例如,下面的内容无效:UPDATEtitlesSETt.ytd_sales=t.ytd_sales+s.qtyFROMtitlest,salessWHEREt.title_id=s.title_idANDs.ord_date=(SELECTMAX(sales.ord_date)FROMsales)若要使
此文档下载收益归作者所有