oracle從9i開始支援一種新的資料型別- xmltype,用於儲存和管理xml資料,並提供了很多的functions,用來直接讀取xml文件和管理節點。下面介紹xmltype的一些基本使用。
1.建立含有xmltype資料型別的表
create table test (
id number,
xmldoc sys.xmltype
);宣告xmltype型字段用:sys.xmltype
2.向帶有xmltype型別的表插入帶有資料
insert into test (id,xmldoc) values (abc.nextval , sys.xmltype.createxml('' test
'') );
插入用 sys.xmltype.createxml(''xml doc'')
3.直接查詢xmltype欄位裡面的內容
得到id=1的value變臉的值
select t.xmldoc.extract(''//name/a[@id=1]/@value'').getstringval() as ennames, id from test t
得到a節點的值
select id,t.xmldoc.extract(''//name/a/text()'').getstringval() as truename from test t
4.更新xmltype裡面的資料
update abc set xmldoc=updatexml(xmldoc,''//name/a[@id=1]/@value'',''some new value'') where ......
(注意:如果裡面沒有這個節點,將不能update)
5.新增超過4k位元組的xml文件到xmltype型字段
可以通過使用臨時表的辦法實現:
先建立乙個臨時的表temp,其中的乙個欄位是clob型別;
再將要寫入xmltype欄位的xml doc寫入這個臨時的clob型的字段中;
最後insert into test (id,xmldoc) values (test_q.nextval , sys.xmltype.createxml((select content from temp where id=......)));
6. 更新表中xmltype欄位的資料
update test t set t.xmldoc = sys.xmltype.createxml(select content from temp where id=……);
關於oracle的啟動
有這麼一道題,是關於在例項啟動的時候,哪些檔案在某個階段是不是可以改動的,我覺得這個題是乙個很基礎的題,對於理解oracle有很大的幫助。於是我就查了一下相關資料,分享一下,適合初學者看。1 shutdown nomount 讀取引數檔案,根據引數檔案的記錄,配置sga,啟動後台程序。這個階段因為只...
關於oracle的啟動
有這麼一道題,是關於在例項啟動的時候,哪些檔案在某個階段是不是可以改動的,我覺得這個題是乙個很基礎的題,對於理解oracle有很大的幫助。於是我就查了一下相關資料,分享一下,適合初學者看。1 shutdown nomount 讀取引數檔案,根據引數檔案的記錄,配置sga,啟動後台程序。這個階段因為只...
關於Oracle分頁
connected to oracle9i enterprise edition release 9.2.0.6.0 connected as dev sql sql set timing on sql create table test table as 2 select rownum x 3 f...