1

DB2 でステートメントを条件付きで実行する必要があります。私はDB2のドキュメントを検索しましたが、if..then..elseifが目的を果たします。でも手続きしないと使えない

私の DB2 バージョンは 9.7.6 です。

私の要件は、Group(name,gp_id) というテーブルがあることです。そして、別のテーブル Group_attr(gp_id,value,elem_id) があります。これで、要件の elem_id は無視できます。

-> グループに特定の名前があるかどうかを確認する必要があります。

-> ある場合は、何もする必要はありません。

-> ない場合は、グループに追加する必要があります。次に、対応する行を Group_attr に挿入する必要があります。値と elem_id は静的であると想定します。

4

2 に答える 2

1

PL/SQL の無名ブロックまたは SQL PL コードの複合ステートメントを使用できます。

BEGIN ATOMIC
   FOR ROW AS
     SELECT PK, C1, DISCRETIZE(C1) AS D FROM SOURCE
   DO
     IF ROW.D IS NULL THEN
       INSERT INTO EXCEPT VALUES(ROW.PK, ROW.C1);
     ELSE
       INSERT INTO TARGET VALUES(ROW.PK, ROW.D);
     END IF;
   END FOR;
 END

複合ステートメント:

匿名ブロック :

この機能の多くは、バージョン 9.7 以降のものです。

于 2013-09-20T15:45:24.613 に答える