UPDATE
単一の物理テーブルに基づいて物理テーブルビューを更新できます。ビューの更新に関するルールについては、
ビューのINSERT、UPDATE、およびDELETEを参照してください。
構文
UPDATE <table>
SET <column> = <expression [, <column> = <expression>]*
[WHERE <criteria>]
備考
•null不可能な列がNULLに設定されている場合、データソースレイヤーはランタイム例外を送出します。
•列が無効な値に設定されている場合、データソースレイヤーは実行時例外を送出します。
•WHERE句にはサブクエリを含めることができます。
— サブクエリで参照されるすべてのデータベースオブジェクトは、UPDATEのターゲットと同じデータソースからのものである必要があります。
— INサブクエリはスカラーである場合とそうでない場合があります。
— 関係演算子によっては、定量化されたサブクエリをスカラーにする必要がある場合があります。
— サブクエリが誤った行を参照している場合、予期しないターゲット行が影響を受ける可能性があります。
•SET句にはサブクエリを含めることができます。
— サブクエリで参照されるすべてのデータベースオブジェクトは、UPDATEのターゲットと同じデータソースからのものである必要があります。
— SET句のサブクエリはスカラーである必要があります(つまり、1つの値を1つの行として返します)。
例(SETでUPDATEを使用)
PROCEDURE sc5()
BEGIN
UPDATE
/shared/examples/ds_inventory/products
SET
ProductName = 'Apple';
END
例(SETおよびWHEREでのUPDATEの使用)
PROCEDURE sc6()
BEGIN
UPDATE
/shared/examples/ds_inventory/products
SET
ProductName = 'Lexington Z24'
WHERE
ProductID = 5;
END
例(SETおよびサブクエリでUPDATEを使用)
PROCEDURE sc8()
BEGIN
UPDATE /shared/examples/ds_orders2/products
SET
ProductName = 'abc'
WHERE
ProductID IN
(SELECT ProductID FROM /shared/examples/ds_orders2/orderdetails);
END