ページの先頭行へ戻る
Symfoware Server V11.0.x SQLリファレンス
Symfoware

2.12.8 XMLEXISTS述語

機能

XMLEXISTS述語は、XQuery式の評価結果が空シーケンスであるか否かを評価します。

記述形式

構文要素の構成

参照項番

一般規則

XQuery式
  • XMLデータの検索式を文字列定数で指定します。

参照

XQuery式に指定する検索式の詳細は、“XQueryリファレンス”を参照してください。

注意

XQuery式に指定する検索式は文字列定数で表現するため、検索式の記述内容に' (シングルクォーテーション)を指定することはできません。' (シングルクォーテーション)を含む文字列リテラルを指定する場合には、既定義エンティティー参照の'を指定してください。
既定義エンティティー参照の詳細は、“XQueryリファレンス”を参照してください。

A要素のテキストノードの値が「'ABC銀行'」を表すXQuery式

XMLEXISTS('/A[text()="'ABC銀行'"]'
   PASSING 伝票)
  • XQuery式に空文字または空白文字列のみ指定した場合、XMLEXIST述語はエラーになります。

  • XQuery式の問合せの評価時にエラーが発生した場合、XMLEXIST述語はエラーになります。

PASSING句
  • PASSING句の値式にはXQuery式の検索対象となるXMLデータを指定します。

  • PASSING句の値式のデータ型は、BLOB型であることが必要です。

  • PASSING句に以下の値式を指定することはできません。

    • 集合関数指定

    • CAST指定

    • XMLQUERY関数

    • ファンクションルーチン

  • 値式に指定するXMLデータは、正しいデータ形式であることが必要です。誤ったデータ形式であることを検出した場合、XMLEXISTS述語の結果は偽となります。

参照

XMLデータの正しいXML形式に関しては、“アプリケーション開発ガイド(共通編)”の“SQL/XMLで扱えるデータ形式”を参照してください。

  • PASSING句を省略、またはPASSING句の値式の値がNULLである場合、XMLEXISTS述語の評価結果は不定になります。

DESCRIBE情報について
  • 値式に動的パラメタ指定が指定された場合のDESCRIBE情報を以下に示します。

    表2.68 動的パラメタ指定が指定された場合のDESCRIBE情報

    オペランド

    DESCRIBE情報

    PASSING句の値式

    BLOB型

使用例

製品番号が200番の製品を発注している取引会社の会社番号を検索します。

SELECT  会社番号 FROM  会社表
WHERE  XMLEXISTS('/取引先会社情報[発注/製品番号/text() = 200]'
                         PASSING  会社表.会社情報)

上記の問合せにおける、取引先会社と発注製品の情報を以下に示します。

XMLEXISTS述語の指定により、会社表の会社情報列に格納された各XMLデータに対して、XQuery式'/取引先会社情報[発注/製品番号/text()= 200]'が評価されます。XQuery式の評価結果より、XMLEXISTS述語は図中の会社番号63と72の行に対して真を返します。また、それ以外の行に対しては偽を返します。このSQL文の結果を以下に示します。