日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

oracle XMLType字段使用方法

發布時間:2023/11/29 asp.net 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle XMLType字段使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

剛才研究了一下XMLType字段使用方法 ,現在給大家介紹一下。? 主要是新增、查詢、修改XMLType字段

表結構:

?

?

建表sql:

?

--?Create?table

create?table?T_BOOK

(

??ID??????????VARCHAR2(32)?not?null,

??SYS_ID??????VARCHAR2(32),

??TYPE????????VARCHAR2(200),

??LIBRARY?????VARCHAR2(32),

??TITLE???????VARCHAR2(200),

??CREATE_USER?VARCHAR2(64),

??SUBJECT?????VARCHAR2(200),

??DESCRIPTION?VARCHAR2(200),

??PUBLISHER???VARCHAR2(200),

??CONTRIBUTOR?VARCHAR2(200),

??CREATE_DATE?DATE,

??FORMAT??????VARCHAR2(200),

??INENTIFIER??VARCHAR2(200),

??SOURCE??????VARCHAR2(200),

??LANGUAGE????VARCHAR2(200),

??OTHER_DESC??XMLTYPE

)

tablespace?DCP

??pctfree?10

??initrans?1

??maxtrans?255

??storage

??(

????initial?64K

????minextents?1

????maxextents?unlimited

??);

--?Add?comments?to?the?table?

comment?on?table?T_BOOK

??is?'數字資源結構表';

--?Add?comments?to?the?columns?

comment?on?column?T_BOOK.LIBRARY

??is?'分區鍵';

--?Create/Recreate?primary,?unique?and?foreign?key?constraints?

alter?table?T_BOOK

??add?constraint?PK_T_BOOK?primary?key?(ID)

??using?index?

??tablespace?DCP

??pctfree?10

??initrans?2

??maxtrans?255

??storage

??(

????initial?64K

????minextents?1

????maxextents?unlimited

??);

?

?

新增記錄:

?

insert?into?t_book?

(id,other_desc)?

values?(1?,?sys.xmlType.createXML('<name><a?id="1"?value="some?values">abc</a></name>')?);

?

insert?into?t_book?

(id,other_desc)?

values?(2?,?sys.xmlType.createXML('<name><a?id="1"?value="some?values">abc</a><b?id="2"?value="some2?values">abc2</b></name> ')?);

?

?

查詢記錄:

查詢一個字段中不存在的元素時,返回null值

?

得到id=1的value變量的值

select?i.other_desc.extract('//name/a[@id=1]/@value ').getStringVal()?as?ennames,?id?from?t_book?i

?

rowid ennames id

1 some?values 1

2 some?values 2

?

得到a節點的值

select?id,i.other_desc.getclobval(),?i.other_desc.extract('//name/a/text()').getStringVal()?as?truename?from?t_book?i

?添加節點

update?ris_u_res.t_data_402?t
set?t.other_description=insertchildxml(other_description,
'//xmlType','COPYRIGHT',xmltype('<COPYRIGHT>1</COPYRIGHT>'))
????where?t.id='721577'?

?

得到b節點id屬性的值

Select?i.other_desc.extract('/name/b/@id').getStringVal()????As?Name?FROM?t_book?i?where?i.id='1'

?

修改記錄:

修改一個字段中不存在的元素時,不會對數據有修改,但是1rows updated,所以需要提交事務。

?

更新id為1的記錄的XMLType字段的a元素的id為1的value的值為some?new?value

update?t_book?set?other_desc=updateXML(other_desc,'//name/a[@id=1]/@value ','some?new?value')?where?id=1

更新節點里面的數據

?

update?T_DATA_892?t
???set?t.other_description?=?updateXML(t.other_description,
???????????????????????????????????????'//xmlType/SERIALNUM_905S',
???????????????????????????????????????'<SERIALNUM_905S>12072</SERIALNUM_905S>')
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?where?t.id='1591083'

轉載于:https://my.oschina.net/kt431128/blog/224713

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的oracle XMLType字段使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。