【发布时间】:2014-05-21 13:42:47
【问题描述】:
我不确定我是否可以在 PL/SQL 中执行此操作,或者我是否需要在我的 Web 服务中从多个输出游标构建我的 XML 树。但我读了一点关于 oracle 中分层查询的内容,这似乎是一个更优雅的解决方案。不过,我对 SQL 非常缺乏经验,因此很难将分层查询的示例应用于我的案例。
我在这个层次结构中有 4 个表。
- 发货 :: KEYS {INTERNAL_ASN, BILL_OF_LADING}
- 订单 :: KEYS {INTERNAL_ASN, BILL_OF_LADING, PO_NO}
- CARTONS :: KEYS {INTERNAL_ASN, BILL_OF_LADING, PO_NO, CARTON_NO}
- ITEMS :: KEYS {INTERNAL_ASN, BILL_OF_LADING, PO_NO, CARTON_NO, UPC_NO}
我希望返回的数据集最终以 XML 形式简化,如下所示:
<DATA>
<SHIPMENTS>
<SHIPMENT>
<ORDERS>
<ORDER>
<CARTONS>
<CARTON>
<ITEMS>
<ITEM></ITEM>
<ITEM></ITEM>
<ITEM></ITEM>
</ITEMS>
</CARTON>
<CARTON>
<ITEMS>
<ITEM></ITEM>
<ITEM></ITEM>
</ITEMS>
</CARTON>
</CARTONS>
</ORDER>
<ORDER></ORDER>
</ORDERS>
</SHIPMENT>
</SHIPMENTS>
</DATA>
让我的案子更难的是,我选择带回来的东西,实际上是从纸箱级别开始的。像这样的查询为我提供了我需要向后和向前的所有纸箱行。
SELECT *
FROM
Q194977.AN_CARTON_INFO CI
WHERE
CI.PO_NO = 4887960
AND CI.STORE_NO = 1560
这是我在 Oracle 分层查询中找到的文档,但它们的示例都使用同一张表。
http://docs.oracle.com/cd/B19306_01/server.102/b14200/queries003.htm#i2060615
关于我应该如何处理这个问题的任何专家意见?
【问题讨论】:
标签: xml web-services plsql hierarchy