欢迎来到天天文库
浏览记录
ID:33758576
大小:53.97 KB
页数:12页
时间:2019-03-01
《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{{[GLOB
9、AL]cursor_name}
10、cursor_variable_name}]}[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、15、e>::=ON16、CROSSJOIN17、::=[INNER18、{{LEFT19、RIGHT20、FULL}[OUTER]}][]JOIN::={FASTFIRSTROW21、HOLDLOCK22、PAGLOCK23、READCOMMITTED24、25、REPEATABLEREAD26、ROWLOCK27、SERIALIZABLE28、TABLOCK29、TABLOCKX30、UPDLOCK}::={INDEX(index_val[,...n])31、FASTFIRSTROW32、HOLDLOCK33、NOLOCK34、PAGLOCK35、READCOMMITTED36、READPAST37、READUNCOMMITTED38、REPEATABLEREAD39、ROWLOCK40、SERIALIZABLE41、TABLOCK42、TABLOCKX43、UPDLOCK}::={{HASH44、ORDE45、R}GROUP46、{CONCAT47、HASH48、MERGE}UNION49、{LOOP50、MERGE51、HASH}JOIN52、FASTnumber_rows53、FORCEORDER54、MAXDOP55、ROBUSTPLAN56、KEEPPLAN}参数table_name需要更新的表的名称。如果该表不在当前服务器或数据库中,或不为当前用户所有,这个名称可用链接服务器、数据库和所有者名称来限定。WITH([...n])指定目标表所允许的一个或多个表提示。需要有WITH关键字和圆括号。不允许有READPAST、NOL57、OCK和READUNCOMMITTED。有关表提示的信息,请参见FROM。view_name要更新的视图的名称。通过view_name来引用的视图必须是可更新的。用UPDATE语句进行的修改,至多只能影响视图的FROM子句所引用的基表中的一个。有关可更新视图的更多信息,请参见CREATEVIEW。rowset_function_limitedOPENQUERY或OPENROWSET函数,视提供程序功能而定。有关提供程序所需功能的更多信息,请参见OLEDB提供程序的UPDATE和DELETE语句要求。有关行集函数的更多信息,58、请参见OPENQUERY和OPENROWSET。SET指定要更新的列或变量名称的列表。column_name含有要更改数据的列的名称。column_name必须驻留于UPDATE子句中所指定的表或视图中。标识列不能进行更新。如果指定了限定的列名称,限定符必须同UPDATE子句中的表或视图的名称相匹配。例如,下面的内容有效:UPDATEauthorsSETauthors.au_fname='Annie'WHEREau_fname='Anne'FROM子句中指定的表的别名不能作为SETcolumn_name子句中的限定符使用。59、例如,下面的内容无效:UPDATEtitlesSETt.ytd_sales=t.ytd_sales+s.qtyFROMtitlest,salessWHEREt.title_id=s.title_idANDs.ord_date=(SELECTMAX(sales.ord_date)FROMsales)若要使
15、e>::=ON
16、CROSSJOIN
17、::=[INNER
18、{{LEFT
19、RIGHT
20、FULL}[OUTER]}][]JOIN::={FASTFIRSTROW
21、HOLDLOCK
22、PAGLOCK
23、READCOMMITTED
24、
25、REPEATABLEREAD
26、ROWLOCK
27、SERIALIZABLE
28、TABLOCK
29、TABLOCKX
30、UPDLOCK}::={INDEX(index_val[,...n])
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、ORDE
45、R}GROUP
46、{CONCAT
47、HASH
48、MERGE}UNION
49、{LOOP
50、MERGE
51、HASH}JOIN
52、FASTnumber_rows
53、FORCEORDER
54、MAXDOP
55、ROBUSTPLAN
56、KEEPPLAN}参数table_name需要更新的表的名称。如果该表不在当前服务器或数据库中,或不为当前用户所有,这个名称可用链接服务器、数据库和所有者名称来限定。WITH([...n])指定目标表所允许的一个或多个表提示。需要有WITH关键字和圆括号。不允许有READPAST、NOL
57、OCK和READUNCOMMITTED。有关表提示的信息,请参见FROM。view_name要更新的视图的名称。通过view_name来引用的视图必须是可更新的。用UPDATE语句进行的修改,至多只能影响视图的FROM子句所引用的基表中的一个。有关可更新视图的更多信息,请参见CREATEVIEW。rowset_function_limitedOPENQUERY或OPENROWSET函数,视提供程序功能而定。有关提供程序所需功能的更多信息,请参见OLEDB提供程序的UPDATE和DELETE语句要求。有关行集函数的更多信息,
58、请参见OPENQUERY和OPENROWSET。SET指定要更新的列或变量名称的列表。column_name含有要更改数据的列的名称。column_name必须驻留于UPDATE子句中所指定的表或视图中。标识列不能进行更新。如果指定了限定的列名称,限定符必须同UPDATE子句中的表或视图的名称相匹配。例如,下面的内容有效:UPDATEauthorsSETauthors.au_fname='Annie'WHEREau_fname='Anne'FROM子句中指定的表的别名不能作为SETcolumn_name子句中的限定符使用。
59、例如,下面的内容无效:UPDATEtitlesSETt.ytd_sales=t.ytd_sales+s.qtyFROMtitlest,salessWHEREt.title_id=s.title_idANDs.ord_date=(SELECTMAX(sales.ord_date)FROMsales)若要使
此文档下载收益归作者所有