UPDATE ステートメント

UPDATE ステートメントを使用して、データベーステーブル内のレコードを変更します。UPDATE ステートメントの形式は次のとおりです:

コピー
UPDATE テーブル名 SET 列名 = 式, ...[ WHERE { 条件 } ]

列名は、値を変更する列の名前です。1 つのステートメントで複数の列を変更できます。

は、列の新しい値です。

通常、この式は列について定数値ですが、サブクエリーを指定することもできます。文字列の値は、シングルクォーテーション (') の組で囲む必要があります。シングルクォーテーションで囲まれた文字列の値にシングルクォーテーションを含めるには、同時に 2 つのシングルクォーテーションを使用します (例: 'Don''t')。

サブクエリーはカッコ (()) で囲む必要があります。

WHERE 句は、任意の有効な句です。これによって更新するレコードを決定します。

従業員名簿テーブルに対する UPDATE ステートメント。

コピー
UPDATE "従業員名簿" SET "給与" =32000, "控除" =1 WHERE "従業員番号" = 'E10001'

それぞれの UPDATE ステートメントは、WHERE 句の条件を満たすすべてのレコードを変更します。この例では、従業員番号 「E10001」 を含むすべての従業員について、給与と控除が変更されます。従業員番号は従業員名簿テーブル内の固有な値なので、1 レコードだけが更新されます。

サブクエリーを使用した従業員名簿テーブルに対する UPDATE ステートメント。

コピー
UPDATE  "従業員名簿" SET "給与" = (SELECT avg( "給与" ) from "従業員名簿" ) WHERE "従業員番号" = 'E10001'

この例では、従業員番号 E10001 を含む従業員について、給与を会社の平均給与に変更します。

重要  

オブジェクトフィールドでは、引数化されたステートメントを準備し、アプリケーションからデータをストリームしていない限り、UPDATE 処理を行うことができるのはテキストのみです。バイナリデータを使用するには、シングルクォーテーションでファイル名を囲んでファイル名を割り当てるか、PutAs() 関数を使用します。ファイル名を指定すると、ファイル拡張子からファイルタイプが推定されます:

コピー
UPDATE "テーブル名" SET("オブジェクト名") = ?AS 'ファイル名.ファイル拡張子'

サポートされていないファイルタイプは、タイプ FILE として挿入されます。

PutAs() 関数を指定する場合、PutAs(col, 'タイプ') の形式でタイプを指定します。タイプ値は、サポートされているファイルタイプです。サポートされているファイルタイプの詳細については、「オブジェクトフィールドの内容の取得:CAST() 関数と GetAs() 関数」を参照してください。