7 共通のOracle CQL DDL句

Oracle Continuous Query Language (Oracle CQL)のデータ定義言語(DDL)に含まれる句のリファレンスを提供します。

7.1 共通のOracle CQL DDL句の概要

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

Oracle CQL文の詳細は、「Oracle CQL文」を参照してください。

7.2 attr

目的

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

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

前提条件

なし。

構文

図7-1 attr::=

attr

identifier::=および例7-1

element time

セマンティクス

識別子

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

次を指定できます

  • StreamOrViewName.ElementName

  • ElementName

  • CorrelationName.PseudoColumn

  • PseudoColumn

例7-1 pseudo_column

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

例については、次の項を参照してください。

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

7.3 attrspec

目的

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

前提条件

なし。

構文

図7-2 attrspec::=

attr spec

(fixed_length_datatype::=およびvariable_length_datatype::=).

セマンティクス

識別子

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

fixed_length_datatype

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

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

variable_length_datatype

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

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

integer

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

7.4 const_bigint

目的

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

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

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

前提条件

なし。

構文

const_bigint::=

const bigint

7.5 const_int

目的

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

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

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

前提条件

なし。

構文

const_int::=

const int

7.6 const_string

目的

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

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

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

前提条件

なし。

構文

図7-3 const_string::=

const string

7.7 const_value

目的

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

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

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

前提条件

なし。

構文

図7-4 const_value::=

const value

例7-2

図7-5 interval_value

interval value

例7-2 interval_value

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

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

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

const_string

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

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

null

null定数値を指定します。

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

const_int

int定数値を指定します。

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

bigint

bigint定数値を指定します。

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

float

float定数値を指定します。

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

7.8 identifier

目的

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

identifier句は次のOracle CQL文で使用できます。

前提条件

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

構文

図7-6 identifier::=

identifier

const_stringおよびExample 7-3

例7-3 unreserved_keyword::=

unreserved keyword

セマンティクス

const_string

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

[A-Z]

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

unreserved_keyword

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

reserved_keyword

予約済キーワードであるため、識別子として使用できない名前は次のとおりです。addaggregateallalterandapplicationasascavgbetweenbigintbindingbinjoinbinstreamjoinbooleanbybytecalloutcasecharclearcolumnsconstraintcontentcountcreatedaydaysdecodedefinederiveddescdestinationdisabledistinctdocumentdoubledropdstreamdumpdurationdurationelement_timeelseenableendevalnameeventeventsexceptexternalfalsefirstfloatfromfunctiongroupgroupaggrhavingheartbeathourhoursidentifiedimplementinincludeindexinstanceintintegerintersectintervalisistreamjavakeylanguagelastlevellikelineageloggingmatch_recognizematchesmaxmeasuresmetadata_querymetadata_systemmetadata_tablemetadata_userfuncmetadata_viewmetadata_windowmicrosecondmicrosecondsmillisecondmillisecondsminminusminuteminutesmonitoringmultiplesnanosecondnanosecondsnotnownullnullsobjectofonoperatorororderorderbytopoutputpartitionpartitionwinpartnwinpassingpathpatternpatternstrmpatternstrmbprevprimaryprojectpushqueryqueuerangerangewinrealregisterrelationrelsrcremovereturnreturningrowsrowwinrstreamrunrun_timesched_namesched_threadedschemasecondsecondsselectsemanticssetsilentsinkslidesourcespillstartstopstoragestorestreamstrmsrcsubsetsumsynopsissystemsystemstatethentimetime_slicetimeouttimertimestamptimestampedtotruetrustedtypeunboundedunionupdateusingvalueviewviewrelnsrcviewstrmsrcwellformedwhenwherewindowxmlaggxmlattributesxmlcolattvalxmlconcatxmldataxmlelementxmlexistsxmlforestxmlparsexmlqueryxmltablexmltypeまたはxor

7.9 l-value

目的

整数リテラルを指定するには、l-value句を使用します。

前提条件

なし。

構文

l-value::=

I value

7.10 non_mt_arg_list

目的

1つ以上の引数をストリーム要素を使用する算術式として指定するには、non_mt_arg_list句を使用します。

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

前提条件

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

構文

non_mt_arg_list::=

non mt arg list

(arith_expr::=)

セマンティクス

arith_expr

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

7.11 non_mt_attr_list

目的

1つ以上の引数をストリーム要素として直接指定するには、non_mt_attr_list句を使用します。

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

前提条件

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

構文

図7-7 non_mt_attr_list::=

non mt attr list

セマンティクス

attr

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

7.12 non_mt_attrname_list

目的

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

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

前提条件

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

構文

図7-8 non_mt_attrname_list::=

non mt attr name list

セマンティクス

識別子

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

7.13 non_mt_attrspec_list

目的

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

前提条件

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

構文

non_mt_attrspec_list::=

non mt attr spec list

セマンティクス

attrspec

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

7.14 non_mt_cond_list

目的

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

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

詳細は、「条件」を参照してください。

前提条件

なし。

構文

non_mt_cond_list::=

non mt cond list

(condition::=between_condition::=)

セマンティクス

condition

比較条件を指定します。

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

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

between_condition

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

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

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

7.15 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

セマンティクス

non_mt_attrname_list

主キー整合性制約で制限する1つ以上のタプルを指定します。

7.16 param_list

目的

関数パラメータ・リストに類似した、Oracle CQLデータ・カートリッジ複合型のメソッドまたはコンストラクタのゼロ個以上のパラメータのカンマ区切りリストを指定するには、param_list句を使用します。

param_list句は次のOracle CQL文で使用できます。

前提条件

なし。

構文

param_list::=

param list

(arith_expr::=)。

7.17 query_ref

目的

既存のOracle CQL問合せを名前で参照するには、query_ref句を使用します。

前提条件

問合せが存在している必要があります(「Query」を参照)。

構文

図7-9 query_ref::=

query ref

セマンティクス

識別子

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

7.18 time_spec

目的

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

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

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

前提条件

なし。

構文

図7-10 time_spec::=

time spec

図7-11 time_unit::=

time unit

セマンティクス

integer

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

time_unit

時間単位を指定します。