次の例は「例: パラメータとローカル変数を持つプロシージャの作成」と類似していますが、キュー テーブルに対して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は、キュー テーブルの一番古い行を検索することを指定します。