PL/SQLでデータを変更の方法

PL/SQLでは、次の手法でデータを変更できます。

  1. UPDATE文によるデータ更新:UPDATE文では、テーブル内のデータを更新することができます。構文は次のとおりです。
UPDATE 表名
SET 列名1 = 值1, 列名2 = 值2, ...
WHERE 条件;

更新するテーブル名は表名、列名は更新する列名、値は新しい値で、条件は更新するレコードを指定するための条件です。

  1. マージステートメントを使用する:マージステートメントは、条件に基づいて挿入または更新操作を実行できます。構文は次のとおりです。
MERGE INTO 目标表
USING 源表
ON (条件)
WHEN MATCHED THEN
    UPDATE SET 列名1 = 值1, 列名2 = 值2, ...
WHEN NOT MATCHED THEN
    INSERT (列名1, 列名2, ...)
    VALUES (值1, 值2, ...);

更新対象テーブルのテーブル、更新データを含むテーブル、更新するレコードを指定する条件、更新する列とその値を指定する UPDATE SET 句、挿入する列とその値を指定する INSERT 句。

  1. カーソルとFOR UPDATE文を使用する:カーソルとFOR UPDATE文を使用することで、PL/SQLでカーソルを使用してデータを更新することができます。まず、カーソルを宣言し、つぎに、FOR UPDATE句を使用して更新するレコードをロックし、そのあとでUPDATE文を使用してレコードを更新します。サンプルコードは次のとおりです。
DECLARE
    CURSOR cursor_name IS
    SELECT 列名1, 列名2, ...
    FROM 表名
    WHERE 条件
    FOR UPDATE;
BEGIN
    FOR record_name IN cursor_name LOOP
        record_name.列名1 := 新值1;
        record_name.列名2 := 新值2;
        ...
        UPDATE 表名
        SET 列名1 = record_name.列名1, 列名2 = record_name.列名2, ...
        WHERE CURRENT OF cursor_name;
    END LOOP;
END;

カーソル名・項目名・条件・カーソル循環変数は、それぞれカーソルの名前、更新する列の名前、更新するレコードの条件、カーソルを循環させる変数を指定します。

それぞれのニーズに合うようにこれらの方法を選択して使用できます。

bannerAds