キューテーブルを作成します。
構文
CREATE QUEUEテーブル名OF type_name [ ( { option_name option_value } [, ... ] ) ]次の表に、option_nameパラメーターとoption_valueパラメーターの有効なオプションを示します。
| オプション_name | オプション_値 |
| SORT_LIST | priority, enq_time |
| MULTIPLE_CONSUMERS | 偽、真 |
| MESSAGE_GROUPING | なし、移行 |
| STORAGE_CLAUSE | TABLESPACE tablespace_name、PCTFREE integer、PCTUSED integer、INITRANS integer、MAXTRANS integer、STORAGE storage_option。 storage_optionには、次の1つ以上の値を指定できます。 MINEXTENTS 整数、MAXEXTENTS 整数、PCTINCREASE 整数、INITIAL size_clause、NEXT、FREELISTS 整数、OPTIMAL size_clause、および BUFFER_POOL {KEEP | RECYCLE | DEFAULT}。 説明 TABLESPACE オプションのみが適用されます。 他のすべてのオプションは互換性のためにサポートされていますが、無視できます。 TABLESPACE句を使用して、テーブルを作成するテーブルスペースの名前を指定できます。 |
説明
CREATE QUEUE TABLEコマンドを使用すると、スーパーユーザーまたはaq_administrator_role特権を持つユーザーの場合、キューテーブルを作成できます。
CREATE QUEUE TABLE の呼び出しにスキーマ名が含まれている場合は、指定されたスキーマにキューテーブルが作成されます。 スキーマ名が指定されていない場合、キューテーブルは現在のスキーマに作成されます。
キューテーブルの名前は、スキーマ内で一意である必要があります。
パラメーター
| パラメーター | 説明 |
| name | 作成するカスタムイメージの名前を設定します。 名前はスキーマで修飾できます。 |
| type_name | キューテーブルの各エントリのペイロードを説明する現在の型の名前。 型の定義方法の詳細については、CREATE TYPE のトピックをご参照ください。 |
| option_name option_value | 新しいキューテーブルに関連付けられているオプションの名前と値。 CREATE QUEUE TABLE の呼び出しに重複するオプション名が含まれている場合は、サーバーはエラーを返します。 次の表に、これら2つのパラメーターの有効な値を示します。 |
| パラメーター | 説明 |
| SORT_LIST | デキューの順序と、キューを昇順でソートするために使用される 1 つ以上の列の名前を指定します。 有効な値には、enq_time と優先順位の次の組み合わせが含まれます。
|
| MULTIPLE_CONSUMERS | メッセージを複数のユーザーが使用できるか (TRUE) 、1人のユーザーのみが使用できるか (FALSE) を指定します。 データ型: BOOLEAN。 |
| MESSAGE_GROUPING | メッセージをデキューするメソッドを指定します。 noneは、各メッセージが個別にデキューされることを示します。 トランザクションは、同じトランザクションの結果である複数のメッセージがキューに追加され、グループとしてデキューされることを示します。 |
| STORAGE_CLAUSE | テーブルの属性。 有効な値: TABLESPACE tablespace_name、PCTFREE integer、PCTUSED integer、INITRANS integer、MAXTRANS integer、STORAGE storage_option。 storage_optionは、MINEXTENTS整数、MAXEXTENTS整数、PCTINCREASE整数、INITIAL size_clause、NEXT、FREELISTS整数、OPTIMAL size_clause、およびBUFFER_POOL {KEEP | RECYCLE | DEFAULT} のうちの1つ以上の値とすることができる。 説明 TABLESPACE オプションのみが適用されます。 他のすべてのオプションは互換性のためにサポートされていますが、無視できます。 TABLESPACE句を使用して、テーブルを作成するテーブルスペースの名前を指定できます。 |
例
キューテーブルを作成する前に、カスタムタイプを作成する必要があります。 この型は、テーブル内の列とデータ型を記述します。 次のコマンドを実行して、work_order という名前の型を作成します。
CREATE TYPE work_order AS (名前VARCHAR2、プロジェクトテキスト、完成BOOLEAN);次のコマンドを実行して、work_order 型を使用して、work_order_table という名前のキューテーブルを作成します。
CREATE QUEUE TABLE work_order_table OF work_order (sort_list (enq_time, priority));