Oracle9i之xmltype應用(1)
關鍵詞: oracle9i xmltype oracle從9i開始支持一種新的數(shù)據(jù)類型---- xmltype,用于存儲和管理xml數(shù)據(jù),并提供了很多的functions,用來直接讀取xml文檔和管理節(jié)點。下面將介紹xmltype的一些基本使用。 1.建立含有xmltype數(shù)據(jù)類型的表 2.向帶有xmltype類型的表插入帶有數(shù)據(jù) 3.直接查詢xmltype字段里面的內(nèi)容
得到節(jié)點id屬性的值 Select
hd.Data_t.extract('/root/name/@id').getStringVal() 4.更新xmltype里面的數(shù)據(jù) Oracle 9i支持XMLType類型,它是一種Oracle 9i系統(tǒng)定義的對象類型。XMLType有內(nèi)置的函數(shù),有力的提供了推XML的創(chuàng)建,索檢,索引等功能。 用戶可以使用SQL函數(shù)動態(tài)的產(chǎn)生XML文檔。這些函數(shù)有:SYS_XMLGEN和SYS_XMLAGG和PL/SQL包DBMS_XMLGEN。 XML特性 描述 XMLType 1、XMLType是oracle系統(tǒng)定義的數(shù)據(jù)類型,系統(tǒng)預定義了內(nèi)部函數(shù)去訪問XML數(shù)據(jù)??梢詧?zhí)行下面的任務: 2、創(chuàng)建XMLType列,在XMLType列上面使用內(nèi)置的函數(shù)。 創(chuàng)建PL/SQL函數(shù)和存儲過程,可以使用XMLType作為參數(shù)傳入,或者作為返回參數(shù)傳出。 3、在XMLType列上面存儲、索引、處理XML數(shù)據(jù)。 DBMS_XMLGEN
SYS_XMLGEN XMLGEN是一個SQL函數(shù),它用來在sql查詢中產(chǎn)生XML,DBMS_XMLGEN和其他包操作在查詢水平, SYS_XMLGEN把一個值,對象類型,XMLType實例轉(zhuǎn)換成一個XML文檔。SYS_XMLGEN返回的類型是XMLType。 SYS_XMLAGG SYS_XMLAGG 是一個聚合函數(shù),它聚合在XMLType類型上面。 SYS_XMLAGG聚合所有的輸入的XML文檔合片斷并且通過連接XML片斷合增加上一層的標簽產(chǎn)生單個XML文檔 UriTypes UriType 類型家族能夠在數(shù)據(jù)庫中存儲和查詢Ur-refs,SYS.UriType是一抽象的數(shù)據(jù)類型,它提供功能去訪問URL指向的數(shù)據(jù)。 SYS.HttpUriType和SYS.DBUriType是UriType的子類型。SYS.HttpUriType存儲的是HTTP URLs,DBUriType存儲的是intra-database 參考。你可以定義自己的SYS.UriType的子類型。
warehouse_id NUMBER(3), warehouse_spec SYS.XMLTYPE, warehouse_name VARCHAR2(35), location_id NUMBER(4)); 插入XMLType列數(shù)據(jù) ’<Warehouse whNo="100"> <Building>Owned</Building> </Warehouse>’)); createXML的輸入?yún)?shù)可以是任何的返回為varch
w.warehouse_spec.extract(''/Warehouse/Building/text()'').getStringVal() "Building" FROM warehouses w warehouse_spec是一個XMLType列,
查詢結(jié)果如下: Building ----------------- Owned 更新XMLType的列 sys.XMLType.createXML( ’<Warehouse whono="200"> <Building>Leased</Building> </Warehouse>’)); 刪去XMLType的列 WHERE e.warehouse_spec.extract(’//Building/text()’).getStringVal() = ’Leased’; |
|
來自: 昵稱10087950 > 《Oracle》