您可以在 Access 資料庫中使用更新查詢在現有的記錄中新增、變更或刪除資訊。 您可以將更新查詢想成功能強大的表單式 [尋找及取代] 對話方塊。 您無法使用更新查詢將新記錄新增至資料庫,或是從資料庫刪除記錄。
若要將記錄新增至資料庫,請使用新增查詢;若要從資料庫刪除整筆記錄,請使用刪除查詢。
本文內容
概觀
[尋找及取代] 與更新查詢之間的相似與相異處:
更新查詢與 [尋找及取代] 對話方塊相似,可讓您指定要取代哪些值及新的值。
但不同於 [尋找及取代] 對話方塊,更新查詢可讓您:
-
使用不相依於要取代之值的準則。
-
一次更新多筆記錄。
-
同時變更多個資料表的記錄。
限制可更新的欄位
無法使用更新查詢來更新下列類型的欄位資料:
-
計算欄位 計算欄位中的值不會永久存在於資料表中。 他們只會在 Access 計算後暫時存在於電腦記憶體內。 由於計算欄位沒有永久的儲存位置,所以無法更新。
-
合計查詢或交叉資料表查詢的欄位 這類查詢中的值會進行計算,因此無法用更新查詢進行更新。
-
[自動編號] 欄位 根據設計,[自動編號] 欄位中的值只會在新增記錄至資料表時變更。
-
唯一值查詢和唯一記錄查詢中的欄位 這類查詢中的值都已彙總。 某些值代表單一記錄,其他值代表一筆以上的記錄。 無法進行更新作業的原因是不太可能判斷哪些記錄因重複而排除,因此無法更新所有必要的記錄。 不論您是使用更新查詢或嘗試手動在表單或資料工作表中輸入值來更新資料,都適用此限制。
-
聯集查詢中的欄位 ,您無法在聯集查詢中更新欄位資料,因為在兩個或多個資料來源中顯示的每一筆記錄,只會顯示在聯集查詢結果中顯示一次。 因為某些重複的記錄會從結果中移除,因此 Access 無法更新所有必要的記錄。
-
欄位為主索引鍵 在某些情況下 (例如在資料表關聯中使用主索引鍵欄位),除非先將關聯設定為自動串聯更新,否則無法使用查詢更新欄位。
附註: 當您串聯更新時,Access 會在您變更父資料表中的主索引鍵值時,自動更新外部索引鍵值。
使用更新查詢
最佳做法是建立更新查詢時,先建立一個選取查詢來識別要更新的記錄,然後將該查詢轉換為更新查詢,之後再執行這個更新查詢來更新記錄。 首先選擇資料,您可以在真正變更任何資料前,確認您更新的是要更新的記錄。
提示: 執行更新查詢前,請先備份您的資料庫。 您無法復原更新查詢的結果,所以建立備份有助於確保日後改變心意時可回復變更。
備份資料庫的方式
-
按一下 [檔案] 索引標籤,然後按一下 [另存新檔]。
-
在右側的 [進階] 底下,按一下 [備份資料庫]。
-
在 [另存備份] 對話方塊中,指定備份的名稱和位置,然後按一下 [儲存]。
Access 會關閉原始檔案、建立備份複本,然後重新開啟原始檔案。
若要回復至備份複本,請關閉並重新命名原始檔案,讓備份複本可以使用原始版本的名稱。 將原始版本的名稱指定給備份複本,然後在 Access 中開啟重新命名後的備份複本。
本節內容
步驟 1:建立選取查詢以識別要更新的記錄
-
開啟包含要更新之記錄的資料庫。
-
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
-
按一下 [資料表] 索引標籤。
-
選取包含要更新之記錄的一個或多個資料表,然後按一下 [新增],再按一下 [關閉]。
在查詢設計工具中,資料表會以一或多個視窗顯示,而視窗會列出每個資料表的所有欄位。 此圖顯示具備一般資料表的查詢設計工具。
1. 顯示在查詢設計工具中的資料表
2. 查詢設計格線
-
在資料表視窗中按兩下要更新的欄位。 選取的欄位就會出現在查詢設計格線的 [欄位] 列裡。
您可以在查詢設計格線中的每一個資料行中新增一個資料表欄位。
若要快速新增資料表中的所有欄位,在資料表視窗的資料表欄位清單頂端按兩下星號 (*)。 此圖顯示已新增所有欄位的查詢設計格線。
-
若要根據欄位值限制查詢結果,請在查詢設計格線的 [準則] 列中,輸入您要用於限制結果的準則。
範例準則資料表
下表顯示一些範例準則,並說明這些準則對查詢結果的影響。
附註: 此表中的許多範例都使用萬用字元來提升查詢的彈性或功能。
準則
影響
>234
傳回所有大於 234 的數字。 若要尋找所有小於 234 的數字,請使用 <234。
>="Cajhen"
傳回從 Cajhen 到字母表最後一個字母之間的所有記錄。
Between #2/2/2020# And #12/1/2020#
傳回 2017 年 2 月 2 日到 2017 年 12 月 1 日之間的日期 (ANSI-89)。 如果資料庫是使用 ANSI-92 萬用字元,請使用單引號 (') 來代替井字號 (#)。 範例:Between '2/2/2020' And '12/1/2020' 。
Not "德國"
尋找欄位內容不完全等於 "德國" 的所有記錄。 這個準則將會傳回包含 "德國" 以及其他字元的記錄,例如 "德國 (歐元)" 或 "歐洲 (德國)"。
Not "T*"
尋找不是以 T 開頭的所有記錄。如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號 (%) 來代替星號 (*)。
Not "*t"
尋找結尾不是 t 的所有記錄。 如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號 (%) 來代替星號 (*)。
In(加拿大,英國)
會在清單中尋找包含「加拿大」或「英國」的所有記錄。
Like "[A-D]*"
在文字欄位中尋找以字母 A 到 D 開頭的所有記錄。如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號 (%) 來代替星號 (*)。
Like "*ar*"
會尋找包含 "ar" 這兩個連續字母的所有記錄。 如果資料庫是使用 ANSI-92 萬用字元集,請使用百分比符號 (%) 來代替星號 (*)。
Like "Maison Dewe?"
會尋找符合下面條件的所有記錄:開頭是 "Maison" 並且第二個字串包含 5 個字母,其中前面 4 個字母是 "Dewe",最後一個則是未知的字母。 如果資料庫是使用 ANSI-92 萬用字元集,請使用底線 (_) 來代替問號 (?)。
#2/2/2020#
尋找 2020 年 2 月 2 日的所有記錄。 如果您的資料庫使用 ANSI-92 通配符集,請用單引弧括住日期 ( ) ,而不是井字型大小 (#) ;例如, (『2/2/2020』) 。
< Date() - 30
會使用 Date 函數,傳回 30 天以前的所有日期。
Date()
會使用 Date 函數,傳回包含今天日期的所有記錄。
Between Date() And DateAdd("M", 3, Date())
會使用 Date 和 DateAdd 函數,傳回在今天日期和今天日期後三個月之間的所有記錄。
Is Null
會傳回包含 Null (空白或未定義) 值的所有記錄。
Is Not Null
會傳回包含值的所有記錄。
""
會傳回包含零長度字串的所有記錄。 當您需要將值新增至必要欄位,但是您還不知道該值時,可以使用零長度的字串。 例如,某個欄位可能需要輸入傳真號碼,但有些客戶可能沒有傳真機。 在這種情況下,請輸入一對中間不含任何空格的雙引號 (""),而非數字。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。
-
確認查詢傳回的記錄是想要更新的記錄。
-
若要移除不想納入查詢設計中的任何欄位,請選取欄位,然後按下 DELETE。
-
若要新增要納入查詢設計中的任何欄位,請將這些額外的欄位拖曳到查詢設計格線。
步驟 2:更新記錄
-
在 [ 查詢設計] 索引 標籤的 [ 查詢類型] 群組中,按兩下 [ 更新]。
此程序顯示如何將選取查詢變更為更新查詢。 當您這麼做時,Access 會在查詢設計格線中新增 [更新至] 列。 下列圖例所示的更新查詢會傳回 2005 年 1 月 5 日後購買的所有資產,並針對符合該準則的所有記錄,將位置變更為「3 號倉庫」。
-
找到包含要變更之資料的欄位,然後在該欄位的 [更新至] 列中輸入運算式 (變更準則)。
您可以在 [更新至] 列中使用任何有效的運算式。
範例運算式表格
下列表格會顯示一些範例運算式,並說明它們如何變更資料。
運算式
結果
"銷售人員"
在 [簡短文字] 字段中,將文字值變更為 [銷售人員]。
#8/10/20#
在 [日期/時間] 字段中,將日期值變更為 10-Aug-20。
Yes
在 [是/否] 欄位中,將 [否] 值變更為 [是]。
"PN" & [PartNumber]
會在每個指定的零件編號開頭加上 PN。
[UnitPrice] * [Quantity]
會將名稱為 [單價] 及 [數量] 欄位中的值相乘。
[Freight] * 1.5
會將名稱為 [運費] 欄位中的值增加 50%。
DSum (“[Quantity] * [UnitPrice]”,
“Order Details”, “[ProductID]=” & [ProductID])如果目前資料表中的 ProductID 值與 [訂單詳細資料] 資料表中的 ProductID 值相符,此運算式便會將 Quantity 欄位的值與 UnitPrice 欄位的值相乘,以計算的結果更新總銷售量。 運算式使用 DSum 函數,因為它能夠操作多個資料表及資料表欄位。
Right([ShipPostalCode], 5)
會截斷 (移除) 文字或數字字串最左邊的字元,保留最右邊的 5 個字元。
IIf(IsNull([單價]), 0, [單價])
會將 [單價] 欄位的 Null (未知或未定義) 值變更為零 (0) 值。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。
出現一則警示訊息。
-
若要執行查詢並更新資料,請按一下 [是]。
附註: 當您執行查詢時,您可能會注意到結果集中缺少某些欄位。 如果查詢中包含沒有更新的欄位,Access 預設不會在結果中顯示這些欄位。 例如,您可能會包含兩個資料表的 [識別碼] 欄位,以協助確保查詢識別並更新正確的記錄。 如果您未更新這些 [識別碼] 欄位,Access 就不會在結果中顯示該欄位。
使用某一資料表的資料更新其他資料表的資料
當您需要使用某一資料表的資料更新其他資料表的資料時,請考慮下列規則:來源和目標欄位的資料類型必須彼此相符或相容。
此外,當您從一個資料表更新資料到另一個資料表,並使用相容 (而非相符) 的資料類型時,Access 會轉換目的資料表中這些欄位的資料類型。 因此,目標欄位中的某些資料可能會遭截斷 (刪除)。 資料類型轉換的限制一節會列出幾種可以或不可以轉換資料類型的方式。 本節中的表格也會說明轉換資料類型時,可以變更或刪除欄位中的部分或全部資料,以及可能會刪除哪些資料。
請遵照以下大略的步驟,使用某一資料表的資料更新其他資料表的資料:
-
建立更新查詢,並將來源和目的資料表同時加入查詢。
-
聯結資料表中包含相關資訊的欄位。
-
將目標欄位的名稱新增至查詢設計格線的 [欄位] 列。
-
使用下列語法,將來源欄位的名稱新增至查詢設計格線的 [更新至] 列:[source_table].[source_field]。
本節中的步驟會假設您使用兩個相似的資料表。 在這個範例中,[用戶端] 資料表位於您剛才繼承的資料庫內,且包含比 [客戶] 資料表更多的新資料。 您可以看到部分的主管名稱與地址已經變更。 基於這個原因,您決定要以 [用戶端] 資料表中的資料更新 [客戶] 資料表。
[用戶端] 資料表
用戶端識別碼 |
名稱 |
地址 |
城市 |
州/省 |
郵遞區號 |
國家/地區 |
電話 |
連絡人 |
---|---|---|---|---|---|---|---|---|
1 |
Baldwin Museum of Science |
1 Main St. |
New York |
NY |
12345 |
USA |
(505) 555-2122 |
Josh Barnhill |
2 |
Blue Yonder Airlines |
52 1st St. |
Boston |
MA |
23456 |
USA |
(104) 555-2123 |
Waleed Heloo |
3 |
Coho Winery |
3122 75th Ave. S.W. |
Seattle |
WA |
34567 |
USA |
(206) 555-2124 |
Pica Guido |
4 |
Contoso Pharmaceuticals |
1 Contoso Blvd. |
London |
Bucks |
NS1 EW2 |
England |
(171) 555-2125 |
Zoltan Harmuth |
5 |
Fourth Coffee |
Calle Smith 2 |
Mexico City |
56789 |
墨西哥 |
(7) 555-2126 |
Julian Price |
|
6 |
Consolidated Messenger |
3123 75th St. S. |
Seattle |
WA |
34567 |
USA |
(206) 555-2125 |
Miles Reid |
7 |
Graphic Design Institute |
1587 Office Pkwy |
Tampa |
FL |
87654 |
USA |
(916) 555-2128 |
Tzipi Butnaru |
8 |
Litware, Inc. |
3 Microsoft Way |
Portland |
或者 |
31415 |
USA |
(503) 555-2129 |
Brian Smith |
9 |
Tailspin Toys |
4 Microsoft Way |
Portland |
或者 |
31415 |
USA |
(503) 555-2233 |
Phil Gibbins |
[客戶] 資料表
客戶識別碼 |
名稱 |
地址 |
城市 |
州/省 |
郵遞區號 |
國家/地區 |
電話 |
主管 |
---|---|---|---|---|---|---|---|---|
1 |
Baldwin Museum of Science |
1 Main St. |
New York |
NY |
12345 |
USA |
(505) 555-2122 |
Steve Riley |
2 |
Blue Yonder Airlines |
52 1st St. |
Boston |
MA |
23456 |
USA |
(104) 555-2123 |
Waleed Heloo |
3 |
Coho Winery |
3122 75th Ave. S.W. |
Seattle |
WA |
34567 |
USA |
(206) 555-2124 |
Pica Guido |
4 |
Contoso Pharmaceuticals |
1 Contoso Blvd. |
London |
Bucks |
NS1 EW2 |
England |
(171) 555-2125 |
Zoltan Harmuth |
5 |
Fourth Coffee |
Calle Huevos 134 |
Mexico City |
56789 |
墨西哥 |
(7) 555-2126 |
Julian Price |
|
6 |
Consolidated Messenger |
3123 75th St. S. |
Seattle |
WA |
34567 |
USA |
(206) 555-2125 |
Christine Hughes |
7 |
Graphic Design Institute |
67 Big St. |
Tampa |
FL |
87654 |
USA |
(916) 555-2128 |
Dana Birkby |
8 |
Litware, Inc. |
3 Microsoft Way |
Portland |
或者 |
31415 |
USA |
(503) 555-2129 |
Jesper Aaberg |
9 |
Tailspin Toys |
4 Microsoft Way |
Portland |
或者 |
31415 |
USA |
(503) 555-2233 |
Phil Gibbins |
繼續時請記住,雖然每個資料表欄位的資料類型不需要相符,但必須相容。 Access 必須能夠將來源資料表的資料轉換成目的資料表可以使用的類型。 在某些情況下,該轉換處理程序可能會刪除部分資料。 如需轉換資料類型之限制的詳細資訊,請參閱資料類型轉換的限制一節。
建立與執行更新查詢
附註: 下列步驟假設您使用前述兩個範例資料表。 您可以調整步驟以符合您的資料。
-
在 [建立] 索引標籤的 [查詢] 群組中,按一下 [查詢設計]。
-
選取 [新增表格]。
-
按兩下您的來源和目標資料表,將它們新增到查詢中。 每個資料表都會顯示在查詢設計工具的視窗中。
-
在大部分情況下,Access 會自動聯結查詢中的相關欄位。 若要手動聯結包含相關資訊的欄位,請將相關的欄位從一個資料表拖曳到其他資料表中的對等欄位。
例如,如果您使用之前顯示的範例資料表,則要將 [用戶端識別碼] 欄位拖曳到 [客戶識別碼] 欄位。 Access 會在兩個資料表中這些欄位之間建立關聯,並使用該關聯來聯結任何相關的記錄。
-
在 [ 查詢設計] 索引 標籤的 [ 查詢類型] 群組中,按兩下 [ 更新]。
-
在目的資料表中,按兩下要更新的欄位。 每個欄位都會顯示在查詢設計格線的 [欄位] 列中。
如果您使用範例資料表,可新增 [客戶識別碼] 欄位以外的所有欄位。 請注意,目的資料表的名稱會出現在設計格線的 [資料表] 列中。
-
在查詢的 [更新至] 列中,在每個包含目標欄位的資料欄中,新增來源資料表的名稱,以及來源資料表中對應至目的資料表欄位的欄位名稱,並請務必使用以下語法:[Table].[Field],其中請用方括號括住資料表和欄位名稱,並且使用英文句號分隔資料表和欄位名稱。
下圖顯示範例資料表的部分設計格線。 請注意 [更新至] 列中的資料表和欄位名稱的語法。
繼續時請記住,您必須在 [更新至] 列中正確拼出資料表和欄位的名稱,而且必須符合原始資料表和欄位名稱中的標點符號。 不過,英文大小寫不需要相符。
-
在 [ 查詢設計] 索引 標籤的 [ 結果 ] 群組中,按兩下 [ 執行]。
-
當要求您確認更新時,按一下 [是]。
資料類型轉換的限制
下表列出 Access 提供的資料類型、說明轉換資料類型方式的限制,並簡要描述可能在轉換時發生的資料遺失。
轉換為這個類型 |
原本的類型 |
變更或限制 |
---|---|---|
簡短文字 |
長文字 |
Access 會刪除前 255 個字元後的所有資料。 |
數字 |
沒有限制。 |
|
日期/時間 |
沒有限制。 |
|
貨幣 |
沒有限制。 |
|
自動編號 |
沒有限制。 |
|
是/否 |
值為 -1 ([是/否] 欄位中的 [是]) 時會轉換為 [是]。 值為 0 ([是/否] 欄位中的 [否]) 時會轉換為 [否]。 |
|
超連結 |
Access 會截斷長度超過 255 個字元的連結。 |
|
長文字 |
簡短文字 |
沒有限制。 |
數字 |
沒有限制。 |
|
日期/時間 |
沒有限制。 |
|
貨幣 |
沒有限制。 |
|
自動編號 |
沒有限制。 |
|
是/否 |
值為 -1 ([是/否] 欄位中的 [是]) 時會轉換為 [是]。 值為 0 ([是/否] 欄位中的 [否]) 時會轉換為 [否]。 |
|
超連結 |
沒有限制。 |
|
數字 |
簡短文字 |
文字必須包含數字、有效的貨幣與小數分隔符號。 [文字] 欄位中的字元數必須落在 [數字] 欄位設定的大小內。 |
長文字 |
[長文字] 欄位必須只包含文字和有效的貨幣以及小數分隔符。 [長文字] 欄位中的字元數必須落在 [數位] 字段設定的大小內。 |
|
數字 (但是有不同的欄位大小或精確度) |
值不能大於或小於新欄位能儲存的大小。 變更精確度可能會導致 Access 四捨五入部分的值。 |
|
日期/時間 |
您可以轉換的日期取決於數字欄位的大小。 請記住,Access 會將所有日期儲存為數列日期,並將日期值儲存為雙精度浮點整數。 Access 使用 1899 年 12 月 30 日 做為日期 0。 1899 年 4 月 18 日到 1900 年 9 月 11 日範圍之外的日期會超出 [位元組] 欄位的大小。 1810 年 4 月 13 日到 1989 年 9 月 16 日範圍之外的日期會超出 [整數] 欄位的大小。 若要能容納所有可能的日期,請將 [數字] 欄位的 [欄位大小] 屬性設定為 [長整數] 或更大的值。 |
|
貨幣 |
值不能超過或低於欄位的大小限制設定。 例如,當值大於 255 且沒有超過 32,767 時,您可以將 [貨幣] 轉換為 [整數] 欄位。 |
|
自動編號 |
值必須落在欄位的大小限制設定之間。 |
|
是/否 |
「是」的值會轉換為 -1。 「否」的值會轉換為 0。 |
|
日期/時間 |
簡短文字 |
原始文字必須是可辨識的日期或日期/時間組合。 例如,18-Jan-2020。 |
長文字 |
原始文字必須是可辨識的日期或日期/時間組合。 例如,18-Jan-2020。 |
|
數字 |
值必須落在 -657,434 及 2,958,465.99998843 之間。 |
|
貨幣 |
值必須落在 -$657,434 及 $2,958,465.9999 之間。 |
|
自動編號 |
值必須大於 -657,434 但小於 2,958,466。 |
|
是/否 |
-1 (是) 的值會轉換為 1899 年 12 月 29 日。 0 (否) 的值會轉換為午夜 (12:00 AM)。 |
|
貨幣 |
簡短文字 |
文字必須由數字和有效的分隔符號組成。 |
長文字 |
文字必須由數字和有效的分隔符號組成。 |
|
數字 |
沒有限制。 |
|
日期/時間 |
沒有限制,但 Access 可能會四捨五入該值。 |
|
自動編號 |
沒有限制。 |
|
是/否 |
-1 (是) 的值會轉換為 $1。0 (否) 的值會轉換為 0$。 |
|
自動編號 |
簡短文字 |
如果 [自動編號] 欄位是當做主索引鍵使用的話,則不允許。 |
長文字 |
如果 [自動編號] 欄位是當做主索引鍵使用的話,則不允許。 |
|
數字 |
如果 [自動編號] 欄位是當做主索引鍵使用的話,則不允許。 |
|
日期/時間 |
如果 [自動編號] 欄位是當做主索引鍵使用的話,則不允許。 |
|
貨幣 |
如果 [自動編號] 欄位是當做主索引鍵使用的話,則不允許。 |
|
是/否 |
如果 [自動編號] 欄位是當做主索引鍵使用的話,則不允許。 |
|
是/否 |
簡短文字 |
原始文字必須只能由 [是]、[否]、[真]、[假]、[開] 或 [關] 所組成。 |
長文字 |
原始文字必須只能由 [是]、[否]、[真]、[假]、[開] 或 [關] 所組成。 |
|
數字 |
零或 Null 會轉換為 [否],所有其他的值會轉換為 [是]。 |
|
日期/時間 |
Null 或 12:00:00 AM 會轉換為 [否],所有其他的值會轉換為 [是]。 |
|
貨幣 |
零或 Null 會轉換為 [否],所有其他的值會轉換為 [是]。 |
|
自動編號 |
所有值會轉換為 [是]。 |
|
超連結 |
簡短文字 |
如果原始文字包含有效 Web 網址,如 adatum.com、www.adatum.com 或 http://www.adatum.com,Access 會將此文字轉換成超連結。 Access 會嘗試轉換其他值,表示您會看見有底線的文字,且游標會在您指向連結時變更,但連結無法運作。 文字可以包含任何有效的 Web 通訊協定,包括 http://、gopher://、telnet://、ftp:// 及 wais://。 |
長文字 |
請參閱前一個項目。 適用相同的限制。 |
|
數字 |
[數字] 欄位是關聯的一部分時,不允許。 如果原始值是有效網際網路通訊協定 (IP) 網址的形式 (四個以句點分隔的三位數:nnn.nnn.nnn.nnn),而數字又剛好與網址一致,則會轉換為有效連結。 否則,Access 會在每個值前面加上 http://,並會產生無效的連結。 |
|
日期/時間 |
Access 會在每個位址前面加上 http://,但幾乎所有產生的連結都是沒有作用的。 |
|
貨幣 |
Access 會在每個值前面加上 http://,但就像日期的例子,幾乎所有產生的連結都是沒有作用的。 |
|
自動編號 |
[自動編號] 欄位是關聯的一部分時,不允許。 Access 會在每個值前面加上 http://,但幾乎所有產生的連結都是沒有作用的。 |
|
是/否 |
Access 會將所有「是」的值轉換為 -1,將所有「否」的值轉換為 0,並在每個值前面加上 http://。 但產生的連結都是沒有作用的。 |
停止停用模式而不要封鎖查詢
如果您嘗試執行巨集指令查詢,但好像什麼都沒有發生,請確認 Access 狀態列是否出現下列訊息:
巨集指令或事件已經被停用模式封鎖。
根據預設,Access 會停用所有巨集指令查詢 (更新、附加、刪除或產生資料表查詢),除非資料庫位於受信任的位置,或資料庫已經過簽署且受到信任。 如果您尚未採取這些動作,仍可以按一下 [訊息列] 的 [啟用內容],針對目前的資料庫工作階段啟用查詢。
SQL 版本:UPDATE 陳述式
如果習慣使用 SQL,您也可以使用 SQL 檢視撰寫 UPDATE 陳述式。 若要使用 SQL 檢視,請建立一個空白的新查詢,然後切換成 SQL 檢視。
本節提供 UPDATE 陳述式的語法及範例。
語法
UPDATE table SET newvalue WHERE criteria;
UPDATE 陳述式包含下列部分:
部分 |
描述 |
---|---|
table |
包含要修改之資料的資料表名稱。 |
newvalue |
決定要插入更新記錄內特定欄位之值的運算式 |
criteria |
此運算式決定更新哪些記錄。 只有滿足運算式的記錄會更新。 |
註解
當您要變更多筆記錄,或者要變更的記錄位於多個資料表中時,UPDATE 陳述式尤其有用。
您可以同時變更數個欄位。 下列範例會將英國境內貨運公司的「訂單金額」值增加 10%,而「運費」值增加 3%:
UPDATE Orders
SET OrderAmount = OrderAmount * 1.1,
Freight = Freight * 1.03
WHERE ShipCountry = 'UK';