ヘッダーをスキップ
Oracle® Big Data Connectorsユーザーズ・ガイド
リリース2 (2.3)
E48215-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

xml_exists

問合せの結果が空かどうかをテストします。

シグネチャ

xml_exists(
    STRING query, 
    { STRING | STRUCT } bindings
  ) as BOOLEAN

説明

query

XQueryまたはXPath式。

bindings

問合せで処理される入力。値は、XML STRINGまたは変数値のSTRUCTです。

  • STRING: 文字列は、問合せの初期コンテキスト項目にXMLとしてバインドされます。

  • STRUCT: 偶数個のフィールドで構成されるSTRUCT。フィールドの各ペアで、問合せの変数バインディング(名前, 値)が定義されます。名前フィールドのタイプはSTRINGである必要があり、値フィールドにはサポートされているプリミティブを指定できます。「データ型変換について」を参照してください。

戻り値

問合せの結果が空でない場合はtrue、それ以外の場合はfalse

問合せで動的エラーが発生した場合はfalse

注意

問合せで発生した最初の動的エラーはログに記録されますが、後続のエラーは記録されません。

例1   STRINGバインディング

次の例では、入力XML文字列を解析し、問合せ"x/y"の初期コンテキスト項目にバインドします。

> SELECT xml_exists("x/y", "<x><y>123</y></x>") FROM src LIMIT 1;
true
例2   STRUCTバインディング

次の例では、2つの問合せ変数$data$valueを定義します。

> SELECT xml_exists(
      "parse-xml($data)/x/y[@id = $value]",
      struct(
         "data", "<x><y id='1'/><y id='2'/></x>",
         "value", 2
      )
   ) FROM src LIMIT 1;
true
例3   エラー・ロギング

次の例では、入力XMLが無効であるため、エラーがログに書き込まれます。

> SELECT xml_exists("x/y", "<x><y>123</invalid></x>") FROM src LIMIT 1;
false