式とは、1 つ以上の値と 1 つ以上の演算の組み合わせです。値には、限定された値を持つ定数、値に評価される関数、または値を含む属性を使用できます。式はそれぞれのデータ型に割り当てられます。
次の単純な式は 4 に評価され、データ型は NUMBER (構成要素と同一のデータ型) です。
2*2
次の式は、関数と演算子を使用するより複雑な式の例です。この式は現在の日付に 7 日を加算し、合計から時間の要素を削除し、結果を CHAR データ型に変換します。
TO_CHAR(TRUNC(SYSDATE+7))
Oracle CEP では、以下の式が提供されます。
集約 (Distinct) 式 : 「aggr_distinct_expr」
集約式 : 「aggr_expr」
算術式 : 「arith_expr」
算術式リスト : 「arith_expr_list」
Case 式 : 「case_expr」
Decode 式 : 「decode」
関数式 : 「func_expr」
順序式 : 「order_expr」
XML 集約式 : 「xml_agg_expr」
XML 列属性値式 : 「xmlcolattval_expr」
XML 要素式 : 「xmlelement_expr」
XML フォレスト式 : 「xmlforest_expr」
XML 解析式 : 「xml_parse_expr」
以下の場所で式を使用できます。
SELECT 文の select リスト
WHERE 句および HAVING 句の条件
INSERT 文の VALUES 句
Oracle CEP では Oracle CQL 文の一部で式の形式の一部が使用できない場合があります。Oracle CQL 文の式の制限の詳細については、第 16 章「Oracle CQL 文」で個々の Oracle CQL 文を参照してください。
このリファレンスの他の部分で説明している条件、Oracle CQL 関数、Oracle CQL 文で expr と示されている箇所では、適切な式表記を使用する必要があります。それに続く節では、さまざまな式の例を挙げて説明しています。
|
注意 : ストリーム入力の例で、h で始まる行 (h 3800 など) はハートビート入力タプルです。これは、ハートビート値よりも小さいタイムスタンプを持つこれ以上の入力がないことを Oracle CEP に通知します。 |
distinct を使用して集約の組み込み関数を使用する場合は、aggr_distinct_expr 集約式を使用します。distinct を使用せずに集約の組み込み関数を使用する場合は、「aggr_expr」を参照してください。

arith_distinct_expr は集約式の引数として指定できます。
aggr_distinct_expr は以下の Oracle CQL 文で使用できます。
詳細については、第 6 章「関数 : 集約」を参照してください。
例
例 11-2 は COUNT 集約 (Distinct) 式の使用方法を示します。
例 11-1 COUNT の aggr_distinct_expr
create view viewq2Cond1(ACCT_INTRL_ID, sumForeign, countForeign) as select ACCT_INTRL_ID, sum(TRXN_BASE_AM), count(distinct ADDR_CNTRY_CD) from ValidCashForeignTxn[range 48 hours] group by ACCT_INTRL_ID having ((sum(TRXN_BASE_AM) * 100) >= (1000 * 60) and (count(distinct ADDR_CNTRY_CD >= 2)))
集約の組み込み関数を使用する場合は、aggr_expr 集約式を使用します。distinct を使用して集約の組み込み関数を使用する場合は、「aggr_distinct_expr」を参照してください。

(arith_expr::=、identifier::=、xml_agg_expr::=)
arith_expr は集約式の引数として指定できます。
first および last 集約組み込み関数は、以下のピリオド区切りの値から成る単一の引数を使用します。
identifier1 : DEFINE 句で指定されたパターンの名前。
identifier2 : CREATE STREAM 文で指定されたストリーム要素の名前。
aggr_expr は以下の Oracle CQL 文で使用できます。
詳細については、以下を参照してください。
例
例 11-2 は COUNT 集約式の使用方法を示します。
ストリーム要素の属性値、定数値、関数式の結果、集約組み込み関数、case 式、または decode の任意の組み合わせを使用して算術式を定義するには、arith_expr 算術式を使用します。すべての一般的な算術演算子 (+、-、*、/) および連結演算子 (||) を使用できます。

(attr::=、const_value::=、func_expr::=、aggr_expr::=、aggr_distinct_expr::=、case_expr::=、decode::=、arith_expr::=)
arith_expr は以下の Oracle CQL 文で使用できます。
詳細については、「算術演算子」を参照してください。
例
例 11-2 は arith_expr 式の使用方法を示します。
ストリーム要素の属性値、定数値、関数式の結果、集約組み込み関数、case 式、または decode の任意の組み合わせを使用して 1 つ以上の算術式を定義するには、arith_expr_list 算術式リストを使用します。すべての一般的な算術演算子 (+、-、*、/) および連結演算子 (||) を使用できます。

arith_expr_list は以下の Oracle CQL 文で使用できます。
詳細については、「算術演算子」を参照してください。
例
例 11-4 は arith_expr_list 式の使用方法を示します。
複数の条件でストリーム要素を評価するには、case 式 case_expr を使用します。

(searched_case_list::=、arith_expr::=、simple_case_list::=)


(non_mt_cond_list::=、arith_expr::=)


case_expr は算術式の DECODE 句と同様です (「decode」を参照)。
searched_case 句では、non_mt_cond_list が true に評価される場合、searched_case 句によって算術式または null のいずれかが返されます。
simple_case 句では、算術式が true である場合、simple_case 句によって別の算術式または null のいずれかが返されます。
case_expr は以下の Oracle CQL 文で使用できます。
例
ここでは、case_expr の以下の例について説明します。
case_expr with SELECT *
例 11-5 のクエリ q97 と例 11-6 のデータ ストリーム S0 があるとします。ストリーム S1 のスキーマは (c1 float, c2 integer) です。例 11-7 は、クエリで返されるリレーションを示します。
例 11-5 CASE 式 : SELECT * のクエリ
<query id="q97"><![CDATA[ select * from S0 where case when c2 < 25 then c2+5 when c2 > 25 then c2+10 end > 25 ]]></query>
例 11-6 CASE 式 : SELECT * のストリーム入力
Timestamp Tuple 1000 0.1,10 1002 0.14,15 200000 0.2,20 400000 0.3,30 500000 0.3,35 600000 ,35 h 800000 100000000 4.04,40 h 200000000
例 11-7 CASE 式 : SELECT * のリレーション出力
Timestamp Tuple Kind Tuple 400000:+ 0.3,30 500000:+ 0.3,35 600000:+ ,35 100000000:+ 4.04,40
case_expr with SELECT
例 11-8 のクエリ q96 と例 11-9 の S0 および例 11-10 の S1 の各データ ストリームがあるとします。ストリーム S0 のスキーマは (c1 float, c2 integer) です。ストリーム S1 のスキーマは (c1 float, c2 integer) です。例 11-11 は、クエリで返されるリレーションを示します。
例 11-8 CASE 式 : SELECT クエリ
<query id="q96"><![CDATA[ select case to_float(S0.c2+10) when (S1.c2*100)+10 then S0.c1+0.5 when (S1.c2*100)+11 then S0.c1 else S0.c1+0.3 end from S0[rows 100], S1[rows 100] ]]></query>
例 11-9 CASE 式 : SELECT のストリーム S0 入力
Timestamp Tuple 1000 0.1,10 1002 0.14,15 200000 0.2,20 400000 0.3,30 500000 0.3,35 600000 ,35 h 800000 100000000 4.04,40 h 200000000
例 11-10 CASE 式 : SELECT のストリーム S1 入力
Timestamp Tuple 1000 10,0.1 1002 15,0.14 200000 20,0.2 300000 ,0.2 400000 30,0.3 100000000 40,4.04
例 11-11 CASE 式 : SELECT のリレーション出力
Timestamp Tuple Kind Tuple 1000: + 0.6 1002: + 0.44 1002: + 0.4 1002: + 0.14 200000: + 0.5 200000: + 0.5 200000: + 0.4 200000: + 0.44 200000: + 0.7 300000: + 0.4 300000: + 0.44 300000: + 0.7 400000: + 0.6 400000: + 0.6 400000: + 0.6 400000: + 0.6 400000: + 0.4 400000: + 0.44 400000: + 0.5 400000: + 0.8 500000: + 0.6 500000: + 0.6 500000: + 0.6 500000: + 0.6 500000: + 0.6 600000: + 600000: + 600000: + 600000: + 600000: + 100000000: + 4.34 100000000: + 4.34 100000000: + 4.34 100000000: + 4.34 100000000: + 4.34 100000000: + 0.4 100000000: + 0.44 100000000: + 0.5 100000000: + 0.6 100000000: + 0.6 100000000: + 100000000: + 4.34
複数の条件でストリーム要素を評価するには、decode 式を使用します。

DECODE では、以下の形式を持つ non_mt_arg_list が予期されます。
expr, search1, result1, search2, result2, ... , searchN, result N, default
DECODE は、expr を各 search 値と 1 つずつ比較します。expr が search 値と一致した場合、DECODE 式は対応する result 値を返します。一致する値がない場合、DECODE 式は default を返します。default が省略されている場合、DECODE 式は null を返します。
引数には任意の数値データ型 (INTEGER、BIGINT、FLOAT、DOUBLE) または文字データ型 (CHAR) を使用できます。詳細については、節 2.2「データ型」を参照してください。
search、result、および default の各値は式から派生できます。Oracle CEP では短絡評価が使用されます。すべての search 値を評価してからそれらを expr と比較する代わりに、各 search 値は expr との比較が行われる前にのみ評価されます。このため、Oracle CEP では、前回の検索 j (0 < j < i) が expr と一致した場合に検索 i は評価されません。
Oracle CEP では、比較を行う前に expr と各 search 値が最初の search 値のデータ型に自動的に変換されます。戻り値は最初の result と同じデータ型に自動的に変換されます。
DECODE 式では、Oracle CEP によって 2 つの null が同等と見なされます。expr が null のとき、Oracle CEP では最初の search が同様に null である場合にその result が返されます。
expr、searches、results、および default を含む DECODE 式の要素の最大数は 255 です。
decode 式は case_expr と同様です (case_expr::= を参照)。
decode 式は以下の Oracle CQL 文で使用できます。
例
例 11-12 のクエリ q と例 11-13 の入力リレーション R があるとします。リレーション R のスキーマは (c1 float, c2 integer) です。例 11-14 は、クエリで返されるリレーションを示します。
例 11-12 算術式と DECODE のクエリ
<query id="q"><![CDATA[ ... SELECT DECODE (c2, 10, c1+0.5, 20, c1+0.1, 30, c1+0.2, c1+0.3) from R ]]></query>
任意の Oracle CQL 組み込み関数またはユーザ定義関数を使用して関数呼び出しを定義するには、func_expr 関数式を使用します。

(identifier::=、const_int::=、const_bigint::=、const_string::=、xqryargs_list::=、non_mt_arg_list::=、xml_parse_expr::=、xmlelement_expr::=、xmlforest_expr::=、xmlcolattval_expr::=、arith_expr::=)
PREV
PREV 関数は、以下のピリオド区切りの identifier 引数から成る単一の引数を使用します。
identifier1 : DEFINE 句で指定されたパターンの名前。
identifier2 : CREATE STREAM 文で指定されたストリーム要素の名前。
また、PREV 関数は以下の const_int 引数を使用します。
const_int : 現在のストリーム要素の前にある比較対象のストリーム要素のインデックス。デフォルト : 1。
const_bigint : 現在のストリーム要素の前にある比較対象のストリーム要素のタイムスタンプ。ストリーム要素のタイムスタンプを取得するには、ELEMENT_TIME 擬似列を使用できます (節 3.2「ELEMENT_TIME 擬似列」を参照)。
詳細については、「PREV」を参照してください。例については、「func_expr PREV 関数の例」を参照してください。
XQuery: XMLEXISTS と XMLQUERY
Oracle CEP によって XML ストリーム要素データに適用される、xqryargs_list にバインドされた XQuery を指定できます。詳細については、以下を参照してください。
xqryargs_list は、select リストからの 1 つ以上のストリーム要素、AS キーワード、XQuery 変数または演算子 (現在のノード演算子 "." など) を表す const_string を使用する算術式から成る 1 つ以上の xqryarg インスタンスのカンマ区切りのリストです。詳細については、xqryargs_list::= を参照してください。
例については、「func_expr XMLQUERY 関数の例」を参照してください。
XMLCONCAT
XMLCONCAT 関数は、カンマ区切りの xmltype 引数の連結を xmltype として返します。
詳細については、「XMLCONCAT」を参照してください。
SQL/XML (SQLX)
SQLX 仕様は XML データをサポートするように SQL を拡張します。Oracle CQL では SQLX ストリームからのデータを操作する以下の式 (および関数) を提供します。たとえば、SQLX ストリーム要素を使用した XML 要素または属性の作成、より大きい XML フラグメントへの結合、XML コンテンツまたはドキュメントの入力の解析などができます。
Oracle CQL での SQLX のサポートの詳細については、以下を参照してください。
Oracle CQL で XML を使用する場合のデータ型の制限については、以下を参照してください。
SQLX の詳細については、『Oracle Database SQL Language Reference』を参照してください。
FIRST と LAST
FIRST 関数と LAST 関数は、以下のピリオド区切りの個別の値から成る単一の引数をそれぞれ使用します。
identifier1 : DEFINE 句で指定されたパターンの名前。
identifier2 : CREATE STREAM 文で指定されたストリーム要素の名前。
詳細については、以下を参照してください。
non_mt_arg_list を明示的に使用して、または使用せずに、関数の識別子を指定できます。これは、組み込み関数またはユーザ定義関数の呼び出しに適した引数のリストです。リストには単一または複数の引数を使用できます。
IDENTIFIER
個別の算術式を明示的に使用して、関数の識別子を指定できます。詳細については、aggr_distinct_expr を参照してください。
func_expr は以下の Oracle CQL 文で使用できます。
詳細については、節 1.1.9「関数」を参照してください。
例
ここでは、func_expr の以下の例について説明します。
func_expr PREV 関数の例
例 11-15 は PREV 関数を呼び出す func_expr の作成方法を示します。
例 11-15 PREV の func_expr
<query id="q36"><![CDATA[ select T.Ac1 from S15 MATCH_RECOGNIZE ( PARTITION BY c2 MEASURES A.c1 as Ac1 PATTERN(A) DEFINE A as (A.c1 = PREV(A.c1,3,5000) ) ) as T ]]></query>
func_expr XMLQUERY 関数の例
例 11-16 は XMLQUERY 関数を呼び出す func_expr の作成方法を示します。
例 11-16 XMLQUERY の func_expr
<query id="q1"><![CDATA[ select xmlexists( "for $i in /PDRecord where $i/PDId <= $x return $i/PDName" passing by value c2 as ".", (c1+1) as "x" returning content ) xmldata from S1 ]]></query>
例 11-17 は SUM 関数を呼び出す func_expr の作成方法を示します。
Oracle CEP がクエリで選択されたタプルを返すソート順を指定するには、order_expr 式を使用します。

ストリーム要素は attr 名で指定できます。
または、const_int インデックスでもストリーム要素を指定できます。インデックスはストリームの登録または作成時に指定したストリーム要素の位置に対応します。
order_expr は以下の Oracle CQL 文で使用できます。
例
例 11-18 を示します。ストリーム S3 のスキーマは (c1 bigint, c2 interval, c3 byte(10), c4 float) です。この例は、クエリ q210 の結果を c1、c2 の順でソートする方法と、クエリ q211 の結果を c2、インデックス 3 のストリーム要素 (c3)、インデックス 4 のストリーム要素 (c4) の順でソートする方法を示します。
XML フラグメントのコレクションを集約された XML ドキュメントとして返すには、xml_agg_expr 式を使用します。null を返す引数は結果から削除されます。

(arith_expr、order_by_clause::=)
xml_agg_expr は集約式の引数として指定できます。
xml_agg_expr は以下の Oracle CQL 文で使用できます。
詳細については、以下を参照してください。
例
例 11-19 のクエリ tkdata67_q1 と例 11-20 の入力リレーション tkdata67_S0 があるとします。リレーション tkdata67_S0 のスキーマは (c1 integer, c2 float) です。例 11-21 は、クエリで返されるリレーションを示します。
例 11-19 xml_agg_expr のクエリ
<query id="tkdata67_q1"><![CDATA[
select
c1,
xmlagg(xmlelement("c2",c2))
from
tkdata67_S0[rows 10]
group by c1
]]></query>
XML フラグメントを作成し、各 XML フラグメントに名前列と属性名が含まれるように結果の XML を拡張するには、xmlcolattval_expr 式を使用します。

xmlcolattval_expr は関数式の引数として指定できます。特に、SQLX ストリームの処理に役立ちます。詳細については、「SQL/XML (SQLX)」を参照してください。
xmlcolattval_expr は以下の Oracle CQL 文で使用できます。
詳細については、『Oracle Database SQL Language Reference』の「XMLCOLATTVAL」を参照してください。
例
例 11-19 のクエリ tkdata53_q1 と例 11-20 の入力リレーション tkdata53_S0 があるとします。リレーション tkdata53_S0 のスキーマは (c1 integer, c2 float) です。例 11-21 は、クエリで返されるリレーションを示します。
例 11-22 xmlcolattval_expr のクエリ
<query id="tkdata53_q1"><![CDATA[
select
XMLELEMENT("tkdata53_S0", XMLCOLATTVAL( tkdata53_S0.c1, tkdata53_S0.c2))
from
tkdata53_S0 [range 1]
]]></query>
例 11-23 xmlcolattval_expr のリレーション入力
Timestamp Tuple 1000: 10, 0.1 1002: 15, 0.14 200000: 20, 0.2 400000: 30, 0.3 h 800000 100000000: 40, 4.04 h 200000000
例 11-24 xmlcolattval_expr のリレーション出力
Timestamp Tuple Kind Tuple 1000: + <tkdata53_S0> <column name="c1">10</column> <column name="c2">0.1</column> </tkdata53_S0> 1002: + <tkdata53_S0> <column name="c1">15</column> <column name="c2">0.14</column> </tkdata53_S0> 2000: - <tkdata53_S0> <column name="c1">10</column> <column name="c2">0.1</column> </tkdata53_S0> 2002: - <tkdata53_S0> <column name="c1">15</column> <column name="c2">0.14</column> </tkdata53_S0> 200000: + <tkdata53_S0> <column name="c1">20</column> <column name="c2">0.2</column> </tkdata53_S0> 201000: - <tkdata53_S0> <column name="c1">20</column> <column name="c2">0.2</column> </tkdata53_S0> 400000: + <tkdata53_S0> <column name="c1">30</column> <column name="c2">0.3</column> </tkdata53_S0> 401000: - <tkdata53_S0> <column name="c1">30</column> <column name="c2">0.3</column> </tkdata53_S0> 100000000: + <tkdata53_S0> <column name="c1">40</column> <column name="c2">4.04</column> </tkdata53_S0> 100001000: - <tkdata53_S0> <column name="c1">40</column> <column name="c2">4.04</column> </tkdata53_S0>
ストリーム要素から整形式の XML 要素を作成する必要がある場合は、xmlelement_expr 式を使用します。

(const_string::=、arith_expr::=、xml_attribute_list::=、arith_expr_list::=)
xmlelement_expr は関数式の引数として指定できます。特に、SQLX ストリームの処理に役立ちます。詳細については、「SQL/XML (SQLX)」を参照してください。
xmlelement_expr は以下の Oracle CQL 文で使用できます。
詳細については、『Oracle Database SQL Language Reference』の「XMLELEMENT」を参照してください。
例
例 11-25 のクエリ tkdata51_q0 と例 11-26 の入力リレーション tkdata51_S0 があるとします。リレーション tkdata51_S0 のスキーマは (c1 integer, c2 float) です。例 11-27 は、クエリで返されるリレーションを示します。
例 11-25 xmlelement_expr のクエリ
<query id="tkdata51_q0"><![CDATA[ select XMLELEMENT( NAME "S0", XMLELEMENT(NAME "c1", tkdata51_S0.c1), XMLELEMENT(NAME "c2", tkdata51_S0.c2) ) from tkdata51_S0 [range 1] ]]></query>
例 11-26 xmlelement_expr のリレーション入力
Timestamp Tuple 1000: 10, 0.1 1002: 15, 0.14 200000: 20, 0.2 400000: 30, 0.3 h 800000 100000000: 40, 4.04 h 200000000
例 11-27 xmlelement_expr のリレーション出力
Timestamp Tuple Kind Tuple 1000: + <S0> <c1>10</c1> <c2>0.1</c2> </S0> 1002: + <S0> <c1>15</c1> <c2>0.14</c2> </S0> 2000: - <S0> <c1>10</c1> <c2>0.1</c2> </S0> 2002: - <S0> <c1>15</c1> <c2>0.14</c2> </S0> 200000: + <S0> <c1>20</c1> <c2>0.2</c2> </S0> 201000: - <S0> <c1>20</c1> <c2>0.2</c2> </S0> 400000: + <S0> <c1>30</c1> <c2>0.3</c2> </S0> 401000: - <S0> <c1>30</c1> <c2>0.3</c2> </S0> 100000000: + <S0> <c1>40</c1> <c2>4.04</c2> </S0> 100001000: - <S0> <c1>40</c1> <c2>4.04</c2> </S0>
各引数パラメータを XML に変換し、これらの変換された引数を連結した XML フラグメントを返すには、xmlforest_expr を使用します。

xmlforest_expr は関数式の引数として指定できます。特に、SQLX ストリームの処理に役立ちます。詳細については、「SQL/XML (SQLX)」を参照してください。
xmlforest_expr は以下の Oracle CQL 文で使用できます。
詳細については、『Oracle Database SQL Language Reference』の「XMLFOREST」を参照してください。
例
例 11-28 のクエリ tkdata52_q0 と例 11-29 の入力リレーション tkdata52_S0 があるとします。リレーション tkdata52_S0 のスキーマは (c1 integer, c2 float) です。例 11-30 は、クエリで返されるリレーションを示します。
例 11-28 xmlforest_expr のクエリ
<query id="tkdata52_q0"><![CDATA[ select XMLFOREST( tkdata52_S0.c1, tkdata52_S0.c2) from tkdata52_S0 [range 1] ]]></query>
例 11-29 xmlforest_expr のリレーション入力
Timestamp Tuple 1000: 10, 0.1 1002: 15, 0.14 200000: 20, 0.2 400000: 30, 0.3 h 800000 100000000: 40, 4.04 h 200000000
例 11-30 xmlforest_expr のリレーション出力
Timestamp Tuple Kind Tuple 1000: + <c1>10</c1> <c2>0.1</c2> 1002: + <c1>15</c1> <c2>0.14</c2> 2000: - <c1>10</c1> <c2>0.1</c2> 2002: - <c1>15</c1> <c2>0.14</c2> 200000: + <c1>20</c1> <c2>0.2</c2> 201000: - <c1>20</c1> <c2>0.2</c2> 400000: + <c1>30</c1> <c2>0.3</c2> 401000: - <c1>30</c1> <c2>0.3</c2> 100000000: + <c1>40</c1> <c2>4.04</c2> 100001000: - <c1>40</c1> <c2>4.04</c2>
arith_expr の評価された結果から XML インスタンスを解析および生成するには、xml_parse_expr 式を使用します。

xml_parse_expr 式の使用では、以下のことに注意します。
arith_expr が null に解決される場合は、式で null が返されます。
content を指定した場合は、arith_expr が有効な XML 値に解決される必要があります。例については、「xml_parse_expr ドキュメントの例」を参照してください。
document を指定した場合は、arith_expr が単一ルートの XML ドキュメントに解決される必要があります。例については、「xml_parse_expr コンテンツの例」を参照してください。
wellformed を指定した場合は、value_expr が整形式の XML ドキュメントに解決されることを保証することになるため、正しい形式の入力を確認する有効性チェックがデータベースで実行されません。例については、「xml_parse_expr 整形式の例」を参照してください。
xml_parse_expr は関数式の引数として指定できます。特に、SQLX ストリームの処理に役立ちます。詳細については、「SQL/XML (SQLX)」を参照してください。
xml_parse_expr は以下の Oracle CQL 文で使用できます。
詳細については、『Oracle Database SQL Language Reference』の「XMLPARSE」を参照してください。
例
ここでは、xml_parse_expr の以下の例について説明します。
xml_parse_expr コンテンツの例
例 11-31 のクエリ tkdata62_q3 と例 11-32 の入力リレーション tkdata62_S1 があるとします。リレーション tkdata62_S1 のスキーマは (c1 char(30)) です。例 11-33 はクエリで返されるリレーションを示します。
例 11-31 xml_parse_expr コンテンツ : クエリ
<query id="tkdata62_q3"><![CDATA[ select XMLPARSE(CONTENT c1) from tkdata62_S1 ]]></query>
例 11-32 xml_parse_expr コンテンツ : リレーション入力
Timestamp Tuple 1000 "<a>3</a>" 1000 "<e3>blaaaaa</e3>" 1000 "<r>4</r>" 1000 "<a></a> 1003 "<a>s3</a>" 1004 "<d>b6</d>"
例 11-33 xml_parse_expr コンテンツ : リレーション出力
Timestamp Tuple Kind Tuple 1000: + <a>3</a> 1000: + <e3>blaaaaa</e3> 1000: + <r>4</r> 1000: + <a/> 1003: + <a>s3</a> 1004: + <d>b6</d>
xml_parse_expr ドキュメントの例
例 11-34 のクエリ tkdata62_q4 と例 11-35 の入力リレーション tkdata62_S1 があるとします。リレーション tkdata62_S1 のスキーマは (c1 char(30)) です。例 11-36 は、クエリで返されるリレーションを示します。
例 11-34 xml_parse_expr ドキュメント : クエリ
<query id="tkdata62_q4"><![CDATA[ select XMLPARSE(DOCUMENT c1) from tkdata62_S1 ]]></query>
例 11-35 xml_parse_expr ドキュメント : リレーション入力
Timestamp Tuple 1000 "<a>3</a>" 1000 "<e3>blaaaaa</e3>" 1000 "<r>4</r>" 1000 "<a></a> 1003 "<a>s3</a>" 1004 "<d>b6</d>"
例 11-36 xml_parse_expr ドキュメント : リレーション出力
Timestamp Tuple Kind Tuple 1000: + <a>3</a> 1000: + <e3>blaaaaa</e3> 1000: + <r>4</r> 1000: + <a/> 1003: + <a>s3</a> 1004: + <d>b6</d>
xml_parse_expr 整形式の例
例 11-37 のクエリ tkdata62_q2 と例 11-38 の入力リレーション tkdata62_S があるとします。リレーション tkdata62_S のスキーマは (c char(30)) です。例 11-39 は、クエリで返されるリレーションを示します。
例 11-37 xml_parse_expr 整形式 : クエリ
<query id="tkdata62_q2"><![CDATA[ select XMLPARSE(DOCUMENT c WELLFORMED) from tkdata62_S ]]></query>