目的
指定されたキュー テーブル内の最も古い挿入タイムスタンプを持つ行のデータを選択し、 その行をキュー テーブルから削除して、その行の値を埋め込みSQLアプリケーションのホスト変数として、またはストアド プロシージャのローカル変数やパラメータとして割り当てます。
呼び出し
実行可能形式。
ストアド プロシージャおよび埋め込みSQL。
構文: ストアド プロシージャのみ
構文: 埋め込みSQLのみ
- select_list
- ASTERISK文字(*)、またはカンマで区切った複数の有効なSQL式からなるリスト。
- local_variable_name
- 選択したデータを配置するストアド プロシージャで宣言されるホスト変数の名前。
- queue_table_name
- CREATE TABLE文にQUEUEオプションを指定して作成されたキュー テーブルの名前。
- parameter_name
- 選択したデータを配置するストアド プロシージャのパラメータの名前。
- host_variable_name
- 選択したデータを配置するホスト変数の名前。
- host_indicator_name
- ホスト標識変数の名前。
ANSI準拠
SELECT AND CONSUME…INTOは、ANSI/ISO SQL:2011規格に対するTeradataの拡張機能です。
許可
キュー テーブルからSELECT AND CONSUME…INTOを実行するには、そのテーブルに対するSELECT権限およびDELETE権限が必要です。
キュー テーブルの属性
キュー テーブルは、通常の実テーブルによく似ていますが、非同期先入れ先出し(FIFO)キューのような動作をする点が異なります。
キュー テーブルの最初の列には、キュー挿入タイムスタンプ(QITS)値が含まれます。CREATE TABLE文では、以下のデータ型と属性を使って最初の列を定義する必要があります。
TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6)
行のQITS値は、その行がキュー テーブルに挿入された時間を示します(ユーザー提供によって別の値が挿入されない限り)。
埋め込みSQLでのコロン文字の使用
埋め込みSQLでは、コロン文字の前後にブランクを入れるかどうかはオプションです。host_variable_nameの前には、オプションでコロン文字を使用できます。コロン文字は、host_indicator_nameの前で使用しなければなりません。
埋め込みSQLのルール
SELECT AND CONSUME…INTOには、SELECT…INTOと同じルールが適用されます。
関連トピック
以下に関する詳細な情報
- queue_table_nameについては、<Teradata Vantage™ SQLデータ定義言語の構文規則および例、B035-1144>の「CREATE TABLE(キュー テーブル形式)」を参照してください。
- 使用上の注意、トランザクション処理、ロック、および制限については、<Teradata Vantage™ SQLデータ操作言語、B035-1146>の「SELECT AND CONSUME」を参照してください。
- SELECT … INTOおよびSELECT AND CONSUME … INTOに適用するルールについては、埋め込みSQLのルールを参照してください。