我正確地將pl/sql中的孩子添加到xml結構中,如下所示。XMLType pl/sql添加孩子
<DATA>
<CHILDRENS>
<CHILDRENS_DEF lname="smith">
<CHILD_KOL no="1" name="Id" desc="Id" typ="NUMBER"/>
<CHILD_KOL no="2" name="Fname" desc="Fname" typ="VARCHAR2"/>
</CHILDRENS_DEF>
<CHILDRENS_DATA>
<CHILD_DATA no="1">
<CHILD_COL_VALUE no="1" name="Id">1</CHILD_COL_VALUE>
<CHILD_COL_VALUE no="2" name="Fname">Christopher</CHILD_COL_VALUE>
</CHILD_DATA>
<CHILD_DATA no="2">
<CHILD_COL_VALUE no="1" name="Id">1</CHILD_COL_VALUE>
<CHILD_COL_VALUE no="2" name="Fname">Alice</CHILD_COL_VALUE>
</CHILD_DATA>
<CHILD_DATA no="3">
<CHILD_COL_VALUE no="1" name="Id">1</CHILD_COL_VALUE>
<CHILD_COL_VALUE no="2" name="Fname">John</CHILD_COL_VALUE>
</CHILD_DATA>
</CHILDRENS_DATA>
</CHILDRENS>
<CHILDRENS>
<CHILDRENS_DEF lname="mushroom">
<CHILD_KOL no="1" name="Id" desc="Id" typ="NUMBER"/>
<CHILD_KOL no="2" name="Fname" desc="Fname" typ="VARCHAR2"/>
</CHILDRENS_DEF>
<CHILDRENS_DATA>
<CHILD_DATA no="1">
<CHILD_COL_VALUE no="1" name="Id">1</CHILD_COL_VALUE>
<CHILD_COL_VALUE no="2" name="Fname">Arthur</CHILD_COL_VALUE>
</CHILD_DATA>
</CHILDRENS_DATA>
</CHILDRENS>
</DATA>
我想將孩子添加到CHILDRENS,其中CHILDRENS_DEF = lname =蘑菇。 當我做這樣的事情:
UPDATE xml_childrens
SET CLOBXMLCOL = INSERTCHILDXML(CLOBXMLCOL, 'DATA/CHILDRENS','CHILD_DATA',
XMLType('<CHILD_DATA no="2">
<CHILD_COL_VALUE no="1" name="Id">2</CHILD_COL_VALUE>
<CHILD_COL_VALUE no="2" name="Fname">Adele</CHILD_COL_VALUE>
</CHILD_DATA>'))
我給所有家庭添加新的孩子。我如何才能爲lname =蘑菇添加CHILD_DATA。 問題2:我如何計算CHILD_DATA的家人?
你對XML的定義有什麼靈活性嗎?如果'lname'是'CHILD_DATA'的某個父節點的屬性,例如,看起來'CHILDRENS'節點定義了一個所以'lname'屬於'CHILDRENS'的屬性。 XPath表達式並不旨在向您顯示具有符合某些條件的兄弟節點的節點。 – 2012-03-20 09:24:10
我不能改變這個結構。因爲這是移動設備導入數據的一部分。我想做一些程序,這將是從觸發器調用自動生成這個XML。現在我手動操作: – dbuser 2012-03-20 09:51:53