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

用途
EXISTSNODEは、指定されたパスを使用するXML文書のトラバースが任意のノードとなるかどうかを決定します。このファンクションは、XML文書を含むXMLTypeインスタンスとパスを指定するVARCHAR2のXPath文字列を、引数として受け取ります。オプションのnamespace_stringは、接頭辞のデフォルト・マッピングまたはネームスペース・マッピング(Oracle DatabaseがXPath式を評価する場合に使用)を指定するVARCHAR2値に解決される必要があります。
namespace_string引数のデフォルトは、ルート要素のネームスペースになります。Xpath_stringのサブ要素を参照する場合は、namespace_stringを指定する必要があります。また、これらの引数の両方にwho接頭辞を指定する必要があります。
戻り値は、NUMBERです。
ドキュメントにXPathトラバースを適用した後にノードが存在しない場合は、0(ゼロ)が戻ります。
ノードが存在する場合は、1が戻ります。
例
次の例では、サンプル表oe.warehousesのwarehouse_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