17.05 - 例: ConsumeモードのSELECTを実行するプロシージャの作成 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ定義言語 構文規則および例

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Release Date
2021年1月
Content Type
プログラミング リファレンス
Publication ID
B035-1144-175K-JPN
Language
日本語 (日本)

次の例は「例: パラメータとローカル変数を持つプロシージャの作成」と類似していますが、キュー テーブルに対してconsumeモードのSELECTを実行する点が異なっています。SELECT AND CONSUME文の詳細は、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>を参照してください。

    CREATE PROCEDURE spSampleQ(IN  ip INTEGER, 
                               OUT op INTEGER)
    BEGIN DECLARE qits   TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP(6),
                  qsn    INTEGER GENERATED ALWAYS AS IDENTITY,
                  qcol_1 INTEGER,
                  qcol_2 INTEGER;
      SELECT AND CONSUME TOP 1 qits, qsn, qcol_1, qcol_2 
       INTO c_qits, c_qsn, c_qcol_1, c_qcol_2
      FROM qtab1e; 
    END;

キュー テーブルからの行を使用するには、SELECT文にAND CONSUME TOP 1句を指定しなければならないので、注意が必要です。AND CONSUMEキーワードは、リクエストがCONSUMEモード リクエストであることを指定します。TOP 1は、キュー テーブルの一番古い行を検索することを指定します。