日本語PDF

EXISTSNODE

ノート:

EXISTSNODEファンクションは非推奨です。これは、下位互換性を保つためにのみサポートされています。ただし、かわりにXMLEXISTSファンクションを使用することをお薦めします。詳細は、「XMLEXISTS」を参照してください。

構文

目的

EXISTSNODEは、指定されたパスを使用するXML文書のトラバースが任意のノードとなるかどうかを決定します。このファンクションは、XML文書を含むXMLTypeインスタンスとパスを指定するVARCHAR2のXPath文字列を、引数として受け取ります。オプションのnamespace_stringは、接頭辞のデフォルト・マッピングまたはネームスペース・マッピング(Oracle DatabaseがXPath式を評価する場合に使用)を指定するVARCHAR2値に解決される必要があります。

namespace_string引数のデフォルトは、ルート要素のネームスペースになります。Xpath_stringのサブ要素を参照する場合は、namespace_stringを指定する必要があります。また、これらの引数の両方にwho接頭辞を指定する必要があります。

関連項目:

namespace_stringの指定例およびwho接頭辞の使用例は、SQL文でのXMLの使用方法を参照してください。

戻り値は、NUMBERです。

  • ドキュメントにXPathトラバースを適用した後にノードが存在しない場合は、0(ゼロ)が戻ります。

  • ノードが存在する場合は、1が戻ります。

次の例では、サンプル表oe.warehouseswarehouse_spec列のXMLパスに/Warehouse/Dockノードが存在するかを判断します。

SELECT warehouse_id, warehouse_name
  FROM warehouses
  WHERE EXISTSNODE(warehouse_spec, '/Warehouse/Docks') = 1
  ORDER BY warehouse_id;

WAREHOUSE_ID WAREHOUSE_NAME
------------ -----------------------------------
           1 Southlake, Texas
           2 San Francisco
           4 Seattle, Washington