UPDATE 文を使用して、テーブルにある単一のロー、ローのグループ、またはすべてのローを変更できます。UPDATE 文には、テーブル名やビュー名が続きます。すべてのデータ修正文と同様、一度に変更できるのは単一のテーブルまたはビュー内のデータだけです。
UPDATE 文は、変更するローまたは新しいデータを指定します。新しいデータは、指定する定数か式、または他のテーブルから引き出したデータです。
UPDATE 文が整合性制約に違反すると、更新は行われずにエラー・メッセージが表示されます。たとえば、追加された値の 1 つが誤ったデータ型であったり、カラムやデータ型のいずれかに定義された制約に違反した場合、更新は行われません。
UPDATE 構文の簡略バージョンは次のとおりです。
UPDATE table-name SET column_name = expression WHERE search-condition
会社 Newton Ent.(SQL Anywhere サンプル・データベースの Customers テーブル内の会社) が Einstein, Inc. に吸収される場合は、次のような文を使用して会社名を更新できます。
UPDATE Customers SET CompanyName = 'Einstein, Inc.' WHERE CompanyName = 'Newton Ent.'; |
WHERE 句で任意の式を使用できます。入力された会社名のスペルがわからなければ、次のような文を使用して Newton という会社名を更新してみます。
UPDATE Customers SET CompanyName = 'Einstein, Inc.' WHERE CompanyName LIKE 'Newton%'; |
探索条件は更新されるカラムを参照する必要はありません。Newton Entertainments の会社 ID は 109 です。ID 値はテーブルのプライマリ・キーなので、次の文を使用して正しいローを確実に更新できます。
UPDATE Customers SET CompanyName = 'Einstein, Inc.' WHERE ID = 109; |
また、InteractiveSQL で結果セットからのローを修正することもできます。Interactive SQL での結果セットの編集を参照してください。
SET 句は、更新されるカラムとその新しい値を指定します。WHERE 句は、更新する必要があるローを決定します。WHERE 句がない場合、指定されたすべてのローのカラムが SET 句の値によって更新されます。
SET 句では、データ型が正しければどんな式でも使用できます。
WHERE 句で更新されるローを指定します。たとえば、次の文は "One Size Fits All" を "Extra Large Tee Shirt" に書き換えます。
UPDATE Products SET Size = 'Extra Large' WHERE Name = 'Tee Shirt' AND Size = 'One Size Fits All'; |
FROM 句を使用して、1 つ以上のテーブルから更新するテーブルにデータを引き出せます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |