例: Oracle ストアドプロシージャのサンプル

以下に示すのは、Oracle ストアドプロシージャの本体部分のサンプルです。Virtual Fields アクティビティで、キーフィールドが NUMBER1、データフィールドが NUMBER2、TEXT1、TEXT2 のときにオープンイベントを使用するには、ストアドプロシージャがこのフォーマットに従っている必要があります。このサンプルでは、キーフィールドは入力パラメータで、結果セットにはデータフィールドとキーフィールドが両方含まれます。出力パラメータの名前の 1 つが、選択ステートメントのキー値と一致する必要があるため、プロシージャ内でパラメータのキーをローカル変数にコピーし、スコープの問題を回避している点に注目してください。

(NUMBER2 out tablename.number2%TYPE,
TEXT1 out tablename.text1%TYPE,
TEXT2 out tablename.text2%TYPE,
NUMBER1 in out tablename.number1%TYPE)
IS
BEGIN
  DECLARE number1_request tablename.number1%TYPE := number1;
  BEGIN
  SELECT t.NUMBER2, t.TEXT1, t.TEXT2, t.NUMBER1
    INTO number2, text1, text2, number1
    FROM tablename t
   WHERE t.NUMBER1 = number1_request;
  END;
END;