SQLServer中XML欄位型別的增刪改查

2021-09-11 08:45:11 字數 970 閱讀 1549

最新專案上遇到資料上報的問題需要修改xml型別字段,xml型別不能作為varchar型別直接修改。給大家做個簡單介紹使用sqlserver的xml操作方法。

在ms中新建資料庫表testtable,定義其中乙個欄位contentxml 為xml型別

declare

@xml xml

set@xml='

1前端2業務

3db'update testtable set contentxml=

@xml

where id=

1;

在【db】後面新增【移動開發】

update testtable set contentxml.

modify

('insert 移動開發 as last into(/myclass)[3]'

)where id=

1;

刪除剛才的節點4【移動開發】

update testtable set contentxml.

modify

('delete /myclass[4]'

)where id=

1;

查詢xml欄位中 myclass中值為【前端】的myname節點

select

*from testtable

where contentxml.exist(

'(/myclass/myname[text()="前端"])')=

1;

update testtable set contentxml.

modify('

replace value of myclass[1]/@myname[1]

with "大前端開發"')

where id=

1

SQL SERVER中XML命名空間

有xml如下 create table a params xml insert into a params values 202014111101 013920130005 name0005 0prod.1000000100088400 msgbody節點聲名了命名空間,用平常的查詢語句是查不到資料...

SQLServer中設定XML索引

xml索引分為主xml索引和次xml索引 1.主xml索引 為了完整 一致的表示xml的值,格式 create primary xml index indexname on tablename columname 2.次xml索引 對於xpath和xquery表示式,可以使用xml次索引 path索...

XML中DOCTYPE欄位的解析

dtd宣告始終以 doctype開頭,空一格後跟著文件根元素的名稱,如果是內部dtd,則再空一格出現,在中括號中是文件型別定義的內容.而對於外部dtd,則又分為私有dtd與公共dtd,私有dtd使用system表示,接著是外部dtd的url.而公共dtd則使用public,接著是dtd公共名稱,接著...