Sql 检查xml父级中是否存在两个xml节点

Sql 检查xml父级中是否存在两个xml节点,sql,xml,oracle,plsql,Sql,Xml,Oracle,Plsql,我试图确定xml标记是否有两个特定的子标记 XML Clob的格式如下: <ProductS> <id>1</id> <Discount></Discount> <Promotion></Promotion> </ProductS> <ProductS> <id>2</id> <Discount></Discount> </Produc

我试图确定xml标记是否有两个特定的子标记

XML Clob的格式如下:

<ProductS>
<id>1</id>
<Discount></Discount>
<Promotion></Promotion>
</ProductS>
<ProductS>
<id>2</id>
<Discount></Discount>
</ProductS>
select existsNode(xmltype(rec1.xml), '/ProductS/Discount') into v_node_exists_discount from dual;
select existsNode(xmltype(rec1.xml), '/ProductS/Promotion') into v_node_exists_promotion from dual;
在这种情况下,将上述两个语句相加是否有效,或者我是否需要执行其他操作


谢谢。

我不熟悉oracle,但您可以使用单个xpath轻松查询既有
又有
,如下所示:

/ProductS[Discount and Promotion]
oracle查询可能如下所示:

select existsNode(xmltype(rec1.xml), '/ProductS[Discount and Promotion]') 
into v_node_exists_discount_and_promotion 
from dual;

我不熟悉oracle,但您可以使用单个xpath轻松查询既有
又有
,如下所示:

/ProductS[Discount and Promotion]
oracle查询可能如下所示:

select existsNode(xmltype(rec1.xml), '/ProductS[Discount and Promotion]') 
into v_node_exists_discount_and_promotion 
from dual;

我不熟悉oracle,但您可以使用单个xpath轻松查询既有
又有
,如下所示:

/ProductS[Discount and Promotion]
oracle查询可能如下所示:

select existsNode(xmltype(rec1.xml), '/ProductS[Discount and Promotion]') 
into v_node_exists_discount_and_promotion 
from dual;

我不熟悉oracle,但您可以使用单个xpath轻松查询既有
又有
,如下所示:

/ProductS[Discount and Promotion]
oracle查询可能如下所示:

select existsNode(xmltype(rec1.xml), '/ProductS[Discount and Promotion]') 
into v_node_exists_discount_and_promotion 
from dual;