A. 使用簡單的 UPDATE 這些範例將展示在省略 UPDATE 陳述式的 WHERE 子句時,如何影響所有的資料列。如果 publishers 資料表中的所有出版社將總公司遷移至 Georgia 州的 Atlanta,本範例將展示更新 publishers 資料表的方式。UPDATE publishers SET city = 'Atlanta', state = 'GA'本範例將變更所有出版商的名稱為 NULL。UPDATE publishers SET pub_name = NULL您也可以在更新中使用已計算的值。本範例將 titles 資料表中的價格變成兩倍。UPDATE titles SET price = price * 2B. 使用含有 WHERE 子句的 UPDATE 陳述式 WHERE 子句指定要更新的資料列。例如,在假想的事件中,northern California 更名為 Pacifica (縮寫為 PC),而 Oakland 的居民投票將城市名稱變更為 Bay City。本範例展示如何針對住址失效的所有前 Oakland 居民,更新 authors 資料表。UPDATE authors SET state = 'PC', city = 'Bay City' WHERE state = 'CA' AND city = 'Oakland'您必須撰寫另外一個陳述式為 northern California 其它城市的居民變更州名。C. 使用 UPDATE 陳述式並配合使用其它資料表的資訊 本範例將修改 titles 資料表中的 ytd_sales 資料行,以反映 sales 資料表中所記錄的最新銷售額。UPDATE titles SET ytd_sales = titles.ytd_sales + sales.qty FROM titles, sales WHERE titles.title_id = sales.title_id AND sales.ord_date = (SELECT MAX(sales.ord_date) FROM sales)本範例假設針對指定日期且已更新為最新資料的指定 title,只記錄一個銷售額集合。如果不是這種情況 (如果在同一天內,可以記錄指定 title 的多個銷售額),則此處所展示的範例將無法得到正確的結果。執行不會發生錯誤,但是無論該日實際上發生多少銷售額,每一個 title 只會更新一個銷售額。這是因為單一 UPDATE 陳述式不會對同一個資料列進行兩次更新。如果在同一天內,一指定的 title 可以發生多個銷售額,則必須在 UPDATE 陳述式內彙總每一個 title 的所有銷售額,如同下列範例所顯示:UPDATE titles SET ytd_sales = (SELECT SUM(qty) FROM sales WHERE sales.title_id = titles.title_id AND sales.ord_date IN (SELECT MAX(ord_date) FROM sales)) FROM titles, salesD. 使用 UPDATE 配合 SELECT 陳述式中的 TOP 子句 本範例將會更新 authors 資料表前 10 個作者的 state 資料行。UPDATE authors SET state = 'ZZ' FROM (SELECT TOP 10 * FROM authors ORDER BY au_lname) AS t1 WHERE authors.au_id = t1.au_id
set 字段=新数据
where 条件
這些範例將展示在省略 UPDATE 陳述式的 WHERE 子句時,如何影響所有的資料列。如果 publishers 資料表中的所有出版社將總公司遷移至 Georgia 州的 Atlanta,本範例將展示更新 publishers 資料表的方式。UPDATE publishers
SET city = 'Atlanta', state = 'GA'本範例將變更所有出版商的名稱為 NULL。UPDATE publishers
SET pub_name = NULL您也可以在更新中使用已計算的值。本範例將 titles 資料表中的價格變成兩倍。UPDATE titles
SET price = price * 2B. 使用含有 WHERE 子句的 UPDATE 陳述式
WHERE 子句指定要更新的資料列。例如,在假想的事件中,northern California 更名為 Pacifica (縮寫為 PC),而 Oakland 的居民投票將城市名稱變更為 Bay City。本範例展示如何針對住址失效的所有前 Oakland 居民,更新 authors 資料表。UPDATE authors
SET state = 'PC', city = 'Bay City'
WHERE state = 'CA' AND city = 'Oakland'您必須撰寫另外一個陳述式為 northern California 其它城市的居民變更州名。C. 使用 UPDATE 陳述式並配合使用其它資料表的資訊
本範例將修改 titles 資料表中的 ytd_sales 資料行,以反映 sales 資料表中所記錄的最新銷售額。UPDATE titles
SET ytd_sales = titles.ytd_sales + sales.qty
FROM titles, sales
WHERE titles.title_id = sales.title_id
AND sales.ord_date = (SELECT MAX(sales.ord_date) FROM sales)本範例假設針對指定日期且已更新為最新資料的指定 title,只記錄一個銷售額集合。如果不是這種情況 (如果在同一天內,可以記錄指定 title 的多個銷售額),則此處所展示的範例將無法得到正確的結果。執行不會發生錯誤,但是無論該日實際上發生多少銷售額,每一個 title 只會更新一個銷售額。這是因為單一 UPDATE 陳述式不會對同一個資料列進行兩次更新。如果在同一天內,一指定的 title 可以發生多個銷售額,則必須在 UPDATE 陳述式內彙總每一個 title 的所有銷售額,如同下列範例所顯示:UPDATE titles
SET ytd_sales =
(SELECT SUM(qty)
FROM sales
WHERE sales.title_id = titles.title_id
AND sales.ord_date IN (SELECT MAX(ord_date) FROM sales))
FROM titles, salesD. 使用 UPDATE 配合 SELECT 陳述式中的 TOP 子句
本範例將會更新 authors 資料表前 10 個作者的 state 資料行。UPDATE authors
SET state = 'ZZ'
FROM (SELECT TOP 10 * FROM authors ORDER BY au_lname) AS t1
WHERE authors.au_id = t1.au_id
UPDATE 表
SET 成品=你要的数据
WHERE
站号='14'