ヘッダーをスキップ
Oracle® CEP CQL 言語リファレンス
11g リリース 1 (11.1.1)
B55504-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

13 共通の Oracle CQL DDL 句

この章では、複数の Oracle CQL 文で使用する Oracle CQL データ定義言語 (DDL) の句について説明します。

13.1 共通の Oracle CQL DDL 句の概要

Oracle CQL では以下の共通の DDL 句をサポートしています。

Oracle CQL 文については、第 16 章「Oracle CQL 文」を参照してください。


attr

目的

ストリーム要素または擬似列を指定するには、attr 句を使用します。

attr 句は以下の Oracle CQL 文で使用できます。

要件

なし。

構文

attr::=

attr.gif を説明する関連テキスト

(identifier::=pseudo_column::=)

pseudo_column::=

pseudo_column.gif を説明する関連テキスト

セマンティクス

identifier

ストリーム要素の識別子を指定します。

以下を指定できます。

例については、「例」を参照してください。

構文については、identifier::= (親 : attr::=) を参照してください。

pseudo_column

特定のストリーム要素、すべてのストリーム要素、または MATCH_RECOGNIZE 句の相関名に関連するストリーム要素に関連付けられているタイムスタンプを指定します。

例については、「例」を参照してください。

詳細については、第 3 章「擬似列」を参照してください。

構文については、pseudo_column::= (親 : attr::=) を参照してください。

例 13-1 に示すストリームがある場合、有効な属性の句は以下のとおりです。

例 13-1 attr 句

<view id="ItemTempStream" schema="itemId temp"><![CDATA[ 
    IStream(select * from ItemTemp) 
]]></view>
<query id="detectPerish"><![CDATA[ 
  select its.itemId
  from ItemTempStream MATCH_RECOGNIZE (
      PARTITION BY itemId
      MEASURES A.itemId as itemId
      PATTERN (A B* C)
      DEFINE
          A  AS  (A.temp >= 25),
          B  AS  ((B.temp >= 25) and (to_timestamp(B.element_time) - to_timestamp(A.element_time) < INTERVAL "0 00:00:05.00" DAY TO SECOND)),
          C  AS  (to_timestamp(C.element_time) - to_timestamp(A.element_time) >= INTERVAL "0 00:00:05.00" DAY TO SECOND)
  ) as its
]]></query>

attrspec

目的

ストリーム要素の識別子とデータ型を定義するには、attrspec 句を使用します。

attrspec 句は以下の Oracle CQL 文で使用できます。

要件

なし。

構文

attrspec::=

attrspec.gif を説明する関連テキスト

(identifier::=fixed_length_datatype::=variable_length_datatype::=)

セマンティクス

identifier

ストリーム要素の識別子を指定します。

構文については、identifier::= (親 : attrspec::=) を参照してください。

fixed_length_datatype

ストリーム要素のデータ型を固定長のデータ型として指定します。

構文については、fixed_length_datatype::= (親 : attrspec::=) を参照してください。

variable_length_datatype

ストリーム要素のデータ型を可変長のデータ型として指定します。

構文については、variable_length_datatype::= (親 : attrspec::=) を参照してください。

integer

可変長データ型の長さを指定します。

構文については、attrspec::= を参照してください。


const_bigint

目的

big integer の数値リテラルを指定するには、const_bigint 句を使用します。

const_bigint 句は以下の Oracle CQL 文で使用できます。

詳細については、節 2.4.2「数値リテラル」を参照してください。

要件

なし。

構文

const_bigint::=

const_bigint.gif を説明する関連テキスト

const_int

目的

整数の数値リテラルを指定するには、const_int 句を使用します。

const_int 句は以下の Oracle CQL 文で使用できます。

詳細については、節 2.4.2「数値リテラル」を参照してください。

要件

なし。

構文

const_int::=

const_int.gif を説明する関連テキスト

const_string

目的

定数の String テキスト リテラルを指定するには、const_string 句を使用します。

const_string 句は以下の Oracle CQL 文で使用できます。

詳細については、節 2.4.1「テキスト リテラル」を参照してください。

要件

なし。

構文

const_string::=

const_string.gif を説明する関連テキスト

const_value

目的

const_int::= リテラル値を指定するには、const_value 句を使用します。

const_value 句は以下の Oracle CQL 文で使用できます。

詳細については、節 2.4「リテラル」を参照してください。

要件

なし。

構文

const_value::=

const_value.gif を説明する関連テキスト

(interval_value::=const_string::=const_int::=const_bigint::=)

interval_value::=

interval_value.gif を説明する関連テキスト

(const_string::=)

セマンティクス

interval_value

期間の定数値を引用符付きの文字列として指定します。例を示します。

INTERVAL '4 5:12:10.222' DAY TO SECOND(3)

詳細については、節 2.4.4「期間リテラル」を参照してください。

構文については、interval_value::= (親 : const_value::=) を参照してください。

const_string

引用符付きの String 定数値を指定します。

詳細については、節 2.4.1「テキスト リテラル」を参照してください。

構文については、const_string::= (親 : interval_value::= および const_value::=) を参照してください。

null

null 定数値を指定します。

詳細については、節 2.6「Null」を参照してください。

const_int

int 定数値を指定します。

詳細については、節 2.4.2「数値リテラル」を参照してください。

bigint

bigint 定数値を指定します。

詳細については、節 2.4.2「数値リテラル」を参照してください。

float

float 定数値を指定します。

詳細については、節 2.4.2「数値リテラル」を参照してください。


identifier

目的

既存の Oracle CQL スキーマ オブジェクトを参照するには、identifier 句を使用します。

以下の Oracle CQL 文で Oracle CQL クエリを参照できます。

要件

スキーマ オブジェクトが存在している必要があります。

構文

identifier::=

identifier.gif を説明する関連テキスト

(const_string::=unreserved_keyword::=)

unreserved_keyword::=

unreserved_keyword.gif を説明する関連テキスト

セマンティクス

const_string

識別子を String として指定します。

詳細については、節 2.9.1「スキーマ オブジェクトの命名規則」を参照してください。

構文については、identifier::= を参照してください。

[A-Z]

識別子を単一の大文字として指定します。

構文については、identifier::= を参照してください。

unreserved_keyword

識別子として使用できる名前です。

詳細については、以下を参照してください。

構文については、unreserved_keyword::= (親 : identifier::=) を参照してください。

reserved_keyword

以下の名前は予約キーワードであるため、識別子として使用できません。addaggregateallalterandapplicationasascavgbetweenbigintbindingbinjoinbinstreamjoinbooleanbybytecalloutcasecharclearcolumnsconstraintcontentcountcreatedaydaysdecodedefinederiveddescdestinationdisabledistinctdocumentdoubledropdstreamdumpdurationdurationelement_timeelseenableendevalnameeventeventsexceptexternalfalsefirstfloatfromfunctiongroupgroupaggrhavingheartbeathourhoursidentifiedimplementinincludeindexinstanceintintegerintersectintervalisistreamjavakeylanguagelastlevellikelineageloggingmatch_recognizematchesmaxmeasuresmetadata_querymetadata_systemmetadata_tablemetadata_userfuncmetadata_viewmetadata_windowmicrosecondmicrosecondsmillisecondmillisecondsminminusminuteminutesmonitoringmultiplesnanosecondnanosecondsnotnownullnullsobjectofonoperatorororderorderbytopoutputpartitionpartitionwinpartnwinpassingpathpatternpatternstrmpatternstrmbprevprimaryprojectpushqueryqueuerangerangewinrealregisterrelationrelsrcremovereturnreturningrowsrowwinrstreamrunrun_timesched_namesched_threadedschemasecondsecondsselectsemanticssetsilentsinkslidesourcespill, startstopstoragestorestreamstrmsrcsubsetsumsynopsissystemsystemstatethentimetime_slicetimeouttimertimestamptimestampedtotruetrustedtypeunboundedunionupdateusingvalueviewviewrelnsrcviewstrmsrcwellformedwhenwherewindowxmlaggxmlattributesxmlcolattvalxmlconcatxmldataxmlelementxmlexistsxmlforestxmlparsexmlqueryxmltablexmltype または xor


non_mt_arg_list

目的

1 つ以上の引数をストリーム要素を使用する算術式として指定するには、non_mt_arg_list 句を使用します。1 つ以上の引数をストリーム要素として直接指定するには、non_mt_attr_list::= を参照してください。

non_mt_arg_list 句は以下の Oracle CQL 文で使用できます。

要件

参照しているストリーム要素がある場合は、ストリームが存在している必要があります。

構文

non_mt_arg_list::=

non_mt_arg_list.gif を説明する関連テキスト

(arith_expr::=)

セマンティクス

arith_expr

引数値に解決される算術式を指定します。


non_mt_attr_list

目的

1 つ以上の引数をストリーム要素として直接指定するには、non_mt_attr_list 句を使用します。1 つ以上の引数をストリーム要素を使用する算術式として指定するには、non_mt_arg_list::= を参照してください。

non_mt_attr_list 句は以下の Oracle CQL 文で使用できます。

要件

参照しているストリーム要素がある場合は、ストリームが存在している必要があります。

構文

non_mt_attr_list::=

non_mt_attr_list.gif を説明する関連テキスト

(attr::=)

セマンティクス

attr

引数をストリーム要素として直接指定します。


non_mt_attrname_list

目的

1 つ以上のストリーム要素を名前で指定するには、non_mt_attrname_list 句を使用します。

non_mt_attrname_list 句は以下の Oracle CQL 文で使用できます。

要件

参照しているストリーム要素がある場合は、ストリームが存在している必要があります。

構文

non_mt_attrname_list::=

non_mt_attrname_list.gif を説明する関連テキスト

(identifier::=)

セマンティクス

identifier

ストリーム要素を名前で指定します。


non_mt_attrspec_list

目的

ストリーム要素の識別子とデータ型を定義する 1 つ以上の属性仕様を指定するには、non_mt_attrspec_list 句を使用します。

non_mt_attrspec_list 句は以下の Oracle CQL 文で使用できます。

要件

参照しているストリーム要素がある場合は、ストリームが存在している必要があります。

構文

non_mt_attrspec_list::=

non_mt_attrspec_list.gif を説明する関連テキスト

(attrspec::=)

セマンティクス

attrspec

属性の識別子とデータ型を指定します。


non_mt_cond_list

目的

ANDORXOR、および NOT の論理演算子の任意の組み合わせを使用して 1 つ以上の条件を指定するには、non_mt_cond_list 句を使用します。

non_mt_cond_list 句は以下の Oracle CQL 文で使用できます。

詳細については、第 12 章「条件」を参照してください。

要件

なし。

構文

non_mt_cond_list::=

non_mt_cond_list.gif を説明する関連テキスト

(non_mt_cond_list::=condition::=between_condition::=)

non_mt_arg_list_set::=

non_mt_arg_list_set.gif を説明する関連テキスト

(non_mt_arg_list::=)

セマンティクス

condition

比較条件を指定します。

詳細については、節 12.2「比較条件」を参照してください。

構文については、condition::= (親 : non_mt_cond_list::=) を参照してください。

between_condition

範囲に含まれているかをテストする条件を指定します。

詳細については、節 12.5「範囲条件」を参照してください。

構文については、between_condition::= (親 : non_mt_cond_list::=) を参照してください。

non_mt_arg_list_set

演算子の左に複数の式がある形式の IN 条件を使用する場合は、non_mt_arg_list_set を使用する必要があり、各リスト内の式は個数とデータ型が一致している必要があります。

詳細については、節 12.8「IN 条件」を参照してください。

構文については、non_mt_arg_list_set::= (親 : non_mt_cond_list::=) を参照してください。


out_of_line_constraint

目的

プライマリ キー整合性制約によって任意のデータ型のタプルを制限するには、この out_of_line_constraint 句を使用します。

USE UPDATE SEMANTICS を使用してリレーションのクエリをコンフィグレーションすることを検討している場合は、1 つ以上のストリーム要素をプライマリ キーとして宣言する必要があります。この制限を使用して、1 つ以上のストリーム要素の値から成る複合プライマリ キーを指定します。

out_of_line_constraint 句は以下の Oracle CQL 文で使用できます。

詳細については、以下を参照してください。

要件

out_of_line_constraint で指定するタプルが null 値を含むことはできません。

構文

out_of_line_constraint::=

out_of_line_constraint.gif を説明する関連テキスト

(non_mt_attrname_list::=)

セマンティクス

non_mt_attrname_list

プライマリ キー整合性制約によって制限される 1 つ以上のタプルを指定します。


query_ref

目的

既存の Oracle CQL クエリを名前で参照するには、query_ref 句を使用します。

以下の Oracle CQL 文で Oracle CQL クエリを参照できます。

要件

クエリが存在している必要があります (「Query」を参照)。

構文

query_ref::=

query_ref.gif を説明する関連テキスト

(identifier::=)

セマンティクス

identifier

クエリの名前を指定します。これは、以降の Oracle CQL 文でクエリを参照するのに使用する名前です。


time_spec

目的

日数、時間数、分数、秒数、ミリ秒数、またはナノ秒数で期間を定義するには、time_spec 句を使用します。

デフォルト : 単位を指定しない場合、Oracle CEP では [second|seconds] が想定されます。

time_spec 句は以下の Oracle CQL 文で使用できます。

要件

なし。

構文

time_spec::=

time_spec.gif を説明する関連テキスト

(time_unit::=)

time_unit::=

time_unit.gif を説明する関連テキスト

セマンティクス

integer

時間単位の数を指定します。

time_unit

時間単位を指定します。


xml_attribute_list

目的

1 つ以上の XML 属性を指定するには、xml_attribute_list 句を使用します。

xml_attribute_list 句は以下の Oracle CQL 文で使用できます。

要件

参照しているストリーム要素がある場合は、ストリームが存在している必要があります。

構文

xml_attribute_list::=

xml_attribute_list.gif を説明する関連テキスト

(xml_attr_list::=)

セマンティクス

xml_attr_list

1 つ以上の XML 属性を指定します (例 13-2 を参照)。

例 13-2 xml_attr_list

<query id="tkdata51_q1"><![CDATA[ 
    select XMLELEMENT(NAME "S0", XMLATTRIBUTES(tkdata51_S0.c1 as "C1", tkdata51_S0.c2 as "C2"), XMLELEMENT(NAME "c1_plus_c2", c1+c2), XMLELEMENT(NAME "c2_plus_10", c2+10.0)) from tkdata51_S0 [range 1]
]]></query>

構文については、xml_attr_list::= (親 : xml_attribute_list::=) を参照してください。


xml_attr_list

目的

1 つ以上の XML 属性を指定するには、xml_attr_list 句を使用します。

xml_attr_list 句は以下の Oracle CQL 文で使用できます。

要件

参照しているストリーム要素がある場合は、ストリームが存在している必要があります。

構文

xml_attr_list::=

xml_attr_list.gif を説明する関連テキスト

(xml_attr::=)

xml_attr::=

xml_attr.gif を説明する関連テキスト

(const_string::=arith_expr::=attr::=)

セマンティクス

xml_attr

XML 属性を指定します。

構文については、xml_attr::= (親 : xml_attr_list::=) を参照してください。


xqryargs_list

目的

XML クエリに 1 つ以上の引数を指定するには、xqryargs_list 句を使用します。

non_mt_arg_list 句は以下の Oracle CQL 文で使用できます。

要件

参照しているストリーム要素がある場合は、ストリームが存在している必要があります。

構文

xqryargs_list::=

xqryargs_list.gif を説明する関連テキスト

(xqryarg::=)

xqryarg::=

xqryarg.gif を説明する関連テキスト

(const_string::=arith_expr::=)

セマンティクス

xqryarg

ストリーム要素の値を XQuery 変数または XPath 演算子にバインドする句。

1 つ以上のストリーム要素を使用する任意の算術式を (arith_expr::= を参照)、指定された XQuery の変数または XPath 演算子 ("."など) に引用符付きの文字列としてバインドできます。

構文については、xqryarg::= (親 : xqryargs_list::=) を参照してください。