Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - SQL の使用法 » データのクエリと変更 » データの追加、変更、削除

 

UPDATE によるデータの変更

UPDATE 文を使用して、テーブルにある単一のロー、ローのグループ、またはすべてのローを変更できます。UPDATE 文には、テーブル名やビュー名が続きます。すべてのデータ修正文と同様、一度に変更できるのは単一のテーブルまたはビュー内のデータだけです。

UPDATE 文は、変更するローまたは新しいデータを指定します。新しいデータは、指定する定数か式、または他のテーブルから引き出したデータです。

UPDATE 文が整合性制約に違反すると、更新は行われずにエラー・メッセージが表示されます。たとえば、追加された値の 1 つが誤ったデータ型であったり、カラムやデータ型のいずれかに定義された制約に違反した場合、更新は行われません。

UPDATE 構文

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 句

SET 句は、更新されるカラムとその新しい値を指定します。WHERE 句は、更新する必要があるローを決定します。WHERE 句がない場合、指定されたすべてのローのカラムが SET 句の値によって更新されます。

SET 句では、データ型が正しければどんな式でも使用できます。

WHERE 句

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 句

FROM 句を使用して、1 つ以上のテーブルから更新するテーブルにデータを引き出せます。