キューを作成します。
構文
次の構文を使用して、新しいキューを定義します。
CREATE QUEUE name QUEUE TABLE queue_table_name [ ( { option_name option_value} [, ... ] ) ]
次のセクションでは、option_name
および option_value
パラメーターの有効な値について説明します。
TYPE [normal_queue | exception_queue]
RETRIES [INTEGER]
RETRYDELAY [DOUBLE PRECISION]
RETENTION [DOUBLE PRECISION]
説明
スーパーユーザーまたは aq_administrator_role 権限を持つユーザーであれば、CREATE QUEUE コマンドを使用して、現在のデータベースにキューを作成することができます。
キュー名がスキーマ修飾されている場合は、キューは指定されたスキーマに作成されます。 それ以外の場合は、キューは現在のスキーマに作成されます。 キューは、キューテーブルが存在するスキーマでのみ作成することができます。 キュー名はスキーマ内で一意である必要があります。
注
- Oracle と互換性のある POLARDB データベースは、CREATE QUEUE SQL コマンドの追加構文を提供します。 この追加構文は、DBMS_AQADM パッケージで使用することができます。
- DROP QUEUE コマンドを使用して、キューを削除します。
パラメーター
パラメーター | 説明 |
---|---|
name | 作成するシーケンスの名前。 名前はスキーマで修飾することができます。 |
queue_table_name | キューに関連付けられているキューテーブルの名前。 |
option_name option_value | 新しいキューに関連付けられているオプションの名前と値。 CREATE QUEUE TABLE の呼び出しに重複するオプション名が含まれている場合は、サーバーはエラーを返します。
次のセクションでは、これら 2 つのパラメーターの有効な値について説明します。
|
例
次のコマンドを実行して、work_order_table というキューテーブルに関連付けられた work_order というキューを作成します。
CREATE QUEUE work_order QUEUE TABLE work_order_table (RETRIES 5, RETRYDELAY 2);
サーバーは、キューからメッセージを削除するための 5 回の試行を許可し、2 回の再試行の間に 2 秒の間隔を必要とします。