以下の表に示すように、SQLインターフェースは、キュー テーブルでのFIFO push、pop、およびpeek操作をサポートします。
FIFO操作 | サポートするSQL文 |
---|---|
push | INSERT。 |
pop | SELECT AND CONSUME TOP 1。 |
peek | SELECT。 |
2つの形式のSELECT文によって実行される異なる操作モードは、それぞれCONSUMEモードおよびブラウズ モードと呼ばれます。キュー テーブルではCONSUMEモードのSELECT文と共にPERCENTオプションもWITH TIESオプションも使用できないので、注意が必要です。さらに、TOP n指定のnの値として1を常に指定する必要があります(1しか指定できません)。Teradata Vantage™ - SQLデータ操作言語、B035-1146を参照してください。
SELECTの形式 | キュー テーブルに対して実行される機能 |
---|---|
SELECT AND CONSUME TOP 1 | consume |
SELECT | browse |
明示的に他の順序で配列されていなければ、CONSUMEモードの行はFIFOの順序です(キュー テーブルの行の配列を参照)。一方、ブラウズ モードの行では、ORDER BY句などの標準のSQL配列メカニズムが使用されます。
- DELETE
- INSERT
- MERGE
- SELECT
- SELECT AND CONSUME
- UPDATE
SELECT AND CONSUMEは、位置決めされたカーソルについてはサポートされてないことに注意してください。すべてのANSIモード カーソルはデフォルトで位置決めされたカーソルなので、CONSUMEモードのSELECT文は、ANSIセッション モードでは使用できません。詳細は、<Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>および<Teradata® Preprocessor2 for Embedded SQLプログラマ ガイド、B035-2446>を参照すること。
- 静的
- 動的
- 静的カーソル
- 動的カーソル
原則として、DELETE、MERGE、およびUPDATE文をキュー テーブルに対して頻繁に実行しないでください。これらの操作はテーブルの項目のFIFOキャッシュを破壊するためです。その結果、FIFOキャッシュを再構築するために次回アクセスするときに、Teradata Databaseはテーブルのフル テーブル スキャンを実行する必要があります。
その代わりに、これらの文は例外処理で使用するために残しておいてください。
これらの文をキュー テーブルに対して使用する方法の詳細については、<Teradata Vantage™ - SQLデータ操作言語、B035-1146>および<Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL、B035-1148>を参照してください。
キュー テーブルはデータベース内の持続するデータベース オブジェクトなので、トランザクションの基本Teradata機能が提供されます。他のデータベース トランザクションと同様に、キュー テーブル トランザクションには原子性、一貫性、隔離性、および持続性のACID特性があります。Teradataトランザクションの詳細については、<Teradata Vantage™- SQLリクエストおよびトランザクション処理、B035-1142>を参照してください。