キューテーブルを作成します。

構文

CREATE QUEUE TABLE name OF type_name [ ( { option_name option_value } [, ... ] ) ]

次の表に、option_name および option_value パラメーターの有効なオプションを示します。

option_name option_value
SORT_LIST priority および enq_time
MULTIPLE_CONSUMERS FALSE および TRUE
MESSAGE_GROUPING NONE および TRANSACTIONAL
STORAGE_CLAUSE TABLESPACE tablespace_name、PCTFREE integer、PCTUSED integer、INITRANS integer、MAXTRANS integer、STORAGE storage_option。

storage_option には、次の 1 つ以上の句を指定することができます。

MINEXTENTS integer、MAXEXTENTS integer、PCTINCREASE integer、INITIAL size_clause、NEXT、FREELISTS integer、OPTIMAL size_clause、BUFFER_POOL {KEEP | RECYCLE | DEFAULT}。

TABLESPACE 句のみが適用されます。 互換性のためにサポートされている他のすべてのオプションをスキップすることができます。 TABLESPACE 句を使用して、テーブルが作成されるテーブルスペースの名前を指定します。

説明

スーパーユーザーまたは aq_administrator_role 権限を持つユーザーであれば、CREATE QUEUE TABLE コマンドを使用してキューテーブルを作成することができます。

CREATE QUEUE TABLE の呼び出しにスキーマ名が含まれている場合は、指定されたスキーマにキューテーブルが作成されます。 スキーマを指定しない場合は、キューテーブルは現在のスキーマに作成されます。

キューテーブルの名前は、スキーマ内で一意である必要があります。

パラメーター

パラメーター 説明
name 作成するカスタムイメージの名前を設定します。 名前はスキーマで修飾することができます。
type_name キューテーブルの各エントリのペイロードを説明する現在の型の名前。 型の定義方法の詳細については、CREATE TYPE のトピックをご参照ください。
option_name option_value 新しいキューテーブルに関連付けられているオプションの名前と値。 CREATE QUEUE TABLE の呼び出しに重複するオプション名が含まれている場合は、サーバーはエラーを返します。 次の表に、これら 2 つのパラメーターの有効なオプションを示します。
表 1. オプション名と値の表
パラメーター 説明
SORT_LIST デキューの順序と、キューを昇順でソートするために使用される 1 つ以上の列の名前を指定します。 有効な値には、enq_time と優先順位の次の組み合わせが含まれます。
  • enq_time. priority
  • priority. enq_time
  • priority
  • enq_time
  • その他の値を指定すると、ERROR が返されます。
MULTIPLE_CONSUMERS メッセージを複数のユーザーが消費できるか、1 人のユーザーだけが消費できるかを指定します。 データ型: BOOLEAN。 有効な値: TRUE および FALSE。
MESSAGE_GROUPING メッセージがデキューされる方法を指定します。 none: 各メッセージが個別にデキューされることを示します。 transactional: 単一のトランザクションで複数のメッセージがキューに追加され、グループとしてデキューされることを示します。
STORAGE_CLAUSE テーブルのパラメーターを指定します。 有効な値: TABLESPACE tablespace_name、PCTFREE integer、PCTUSED integer、INITRANS integer、MAXTRANS integer、STORAGE storage_option。

storage_option には、MINEXTENTS integer、MAXEXTENTS integer、PCTINCREASE integer、INITIAL size_clause、NEXT、FREELISTS integer、OPTIMAL size_clause、BUFFER_POOL {KEEP | RECYCLE | DEFAULT} の 1 つ以上の値を指定することができます。

TABLESPACE 句のみが実行されます。 互換性のためにサポートされている他のすべてのオプションをスキップすることができます。 TABLESPACE 句を使用して、テーブルが作成されるテーブルスペースの名前を指定します。

キューテーブルを作成する前に、カスタム型を作成する必要があります。 この型は、テーブルの列とデータ型を示します。 次のコマンドを実行して、work_order という名前の型を作成します。

CREATE TYPE work_order AS (name VARCHAR2, project TEXT, completed BOOLEAN);

次のコマンドを実行して、work_order 型を使用して、work_order_table という名前のキューテーブルを作成します。

CREATE QUEUE TABLE work_order_table OF work_order (sort_list (enq_time, priority));