17.10 - 例: キュー テーブルを消費するプロシージャの作成 - Advanced SQL Engine - Teradata Database

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

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

次のストアド プロシージャは、sp_ordernumsp_product、およびsp_quantityの3つの変数を返すショッピング カートのキュー テーブル行を使用します。

    CREATE PROCEDURE consumecart(OUT sp_ordernum CHARACTER(15), 
                        OUT sp_product  CHARACTER(30), 
                                 OUT sp_quantity INTEGER) 
    BEGIN 
    SELECT AND CONSUME TOP 1 ordernum, product, quantity INTO 
     :sp_ordernum, :sp_product, :sp_quantity FROM shoppingcart;
    END;

システムは、1つのAMPからFIFOキューの上部にあるキュー テーブルの行を検索し、それをshoppingcartテーブルから削除します。

その行は、そのQITS値によってキューのすべての行の中で最も古いと判別されます。つまり、キューに最も長い時間存在していたので、まずその行が使用されました。システムは式リストで指定されたとおりに応答行を構築し、それを要求元の変数に返します。