SQL Server Table中XML列的操作代码
发布时间:2024-01-23 14:21:11
标签:Table,XML列
--创建测试表
DECLARE @Users TABLE
(
ID INT IDENTITY(1,1),
UserInfo XML
)
---插入测试数据
DECLARE @xml XML
SET @xml='
<root>
<user>
<userid>1</userid>
<userName>test1</userName>
</user>
</root>'
INSERT INTO @Users(UserInfo)VALUES(@xml)
--插入单节点,(类型:as first,as last,after(默认),before)
UPDATE @Users SET UserInfo.modify('insert <address>shanghai</address>
into (/root/user)[1]')
--插入多节点以','分割
UPDATE @Users SET UserInfo.modify('insert (<firstName>steven</firstName>,
<lastName>shi</lastName>) into (/root/user)[1]')
-- 增加属性
declare @editTime varchar(23);
set @editTime=CONVERT(VARCHAR(23), GETDATE(), 121);
UPDATE @Users SET UserInfo.modify(
N'insert (attribute editTime {sql:variable("@editTime")})
into(/root/user/userid)[1]'
)
--插入多属性以','分割
declare @aid float,@bid float
set @aid=0.5
UPDATE @Users SET UserInfo.modify('insert (attribute aid {sql:variable("@aid")},
attribute bid {"test"}
)
into (/root/user)[1]')
---插入注释
UPDATE @Users SET UserInfo.modify(N'insert <!-- 注释 -->
before (/root/user/userid[1])[1]')
---插入处理指令
UPDATE @Users SET UserInfo.modify('insert <?Program = "A.exe" ?>
before (/root)[1]')
---插入CDATA
UPDATE @Users SET UserInfo.modify(N'insert <C><![CDATA[<city>北京</city> or cdata]]> </C>
after (/root/user)[1]')
---插入文本
UPDATE @Users SET UserInfo.modify(N'insert text{"插入文本"} as first
into (/root/user)[1]')
---根据 if 条件语句进行插入
---判断属性值
UPDATE @Users SET UserInfo.modify('insert if(/root/user[@ID=1]) then (<tel>888888</tel>)
else (<qq>66666</qq>)
into (/root/user)[1]')
----判断节点Value
UPDATE @Users SET UserInfo.modify('insert if(/root/user[firstName="steven1"]) then (<tel>1111</tel>)
else (<qq>2222</qq>)
into (/root/user)[1]')
----判断user 节点数是否小于等于10
UPDATE @Users SET UserInfo.modify('insert if (count(/root/user)<=10) then element user { "This is a new user" }
else () as last
into (/root)[1]')
SELECT * FROM @Users
--有命名空间的操作
--DECLARE @xml XML
-- SET @xml='<root xmlns="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/users">
-- <user>
-- <userid>1</userid>
-- <userName>test1</userName>
-- </user>
-- </root>'
-- INSERT INTO Users(UserInfo)VALUES(@xml)
-- UPDATE Users SET UserInfo.modify('
-- declare namespace UI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/users";
-- insert <UI:user>
-- <UI:firstName>steven2</UI:firstName>
-- </UI:user> as first
-- into (/UI:root)[1]')
-- SELECT * FROM Users
-- UPDATE Users SET UserInfo.modify('
-- declare namespace UI="http://schemas.microsoft.com/sqlserver/2004/07/adventure-works/users";
-- insert attribute ID { "55" }
-- into (/UI:root/UI:user)[1]')
0
投稿
猜你喜欢
- generator-vue-component可以快速生成自己的组件开发的脚手架,类似于vue-cli生成vue项目,这脚手架是目录结构是方
- 疫情终于有所好转了,感谢所有的为之奋斗的白衣天使们,你们是最棒的!赞!白衣天使们在前线奋战,我们也总不能总在家里躺着做贡献,也要加强学习,争
- Oracle数据库作为大型数据库管理系统,近年来一直占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及ORACLE公司推陈出
- 有些时候我们不得已要利用values来反向查询key,有没有简单的方法呢?下面我给大家列举一些方法,方便大家使用python3>>
- Python 是一种极其多样化和强大的编程语言!当需要解决一个问题时,它有着不同的方法。在本文中,将会展示列表解析式(List Compre
- 如下所示:import numpy as np# 等差数列print(np.linspace(0.1, 1, 10, endpoint=Tr
- 本文实例为大家分享了python实现通讯录系统的具体代码,供大家参考,具体内容如下一、首先,给大家看一下这个系统的主菜单效果如下:二、步骤分
- 前言本文的主要内容是使用 cpu 版本的 tensorflor-2.1 完成对 Auto MPG 数据集的回归预测任务。获取 Auto MP
- 一、项目展示心情记事本是一款可以记录当前心情和生活的记事本用户可以选择当前的心情(开心、平淡、伤心)和表情并结合自己想要描述的文字就可以记录
- 第一步:首先定义一个视图函数,用于提供数据,实现每页显示数据个数,返回每页请求数据from django.shortcuts import
- 本文实例讲述了Python面向对象class类属性及子类用法。分享给大家供大家参考,具体如下:class类属性class Foo(objec
- 1. 安装 Git在 Windows 系统中安装Git非常简单,只需要下载Git的安装包,然后安装引导点击安装即可:Git下载地址:http
- 本章我们要制作一个俄罗斯方块游戏。Tetris译注:称呼:方块是由四个小方格组成的俄罗斯方块游戏是世界上最流行的游戏之一。是由一名叫Alex
- 本文实例讲述了PHP面向对象的特性。分享给大家供大家参考,具体如下:Demo1.php<?php header('
- 本文实例讲述了Python实现读取邮箱中的邮件功能。分享给大家供大家参考,具体如下:#-*- encoding: utf-8 -*-impo
- if xxx 和if xxx is None的区别一、 if xxxNone,’’,0,[],{},
- 今天下午,低一度博客受到攻击了,出现了大约一个小时的访问异常。庆幸的是,这帮无耻歹徒没能成功获取我的Access数据库,而只是象征性地给我注
- 关于axios的封装下面代码参考了 vue-element-admin 中的封装方式,request.js 文件如下,封装一个 axios
- 本文实例讲述了ASP.NET中MVC从后台控制器传递数据到前台视图的方式。分享给大家供大家参考。具体分析如下:数据存储模型Model:pub
- keras 模块里面为我们提供了一个预训练好的模型,也就是开箱即可使用的图像识别模型趁着国庆假期有时间我们就来看看这个预训练模型如何使用吧可