SQL Server 对XML数据类型的SQL语句总结
--创建XMLTable
create table XMLTable(Id int IDENTITY (1, 1) primary key, XMLCol xml);
go
----------------------------------------------------------------------------------
--插入XML数据单条
insert into [XML].[dbo].[XMLTable]
([XMLCol])
select * from
openrowset(BULK 'G:\Document\XMLDocument\x3.xml',SINGLE_CLOB) as x
----------------------------------------------------------------------------------
--插入XML数据单条
DECLARE @s varchar(100)
SET @s = '<Cust><Fname>Andrew</Fname><Lname>Fuller</Lname></Cust>'
INSERT INTO [XML].[dbo].[XMLTable]
([Id],[XMLCol])
VALUES(3,cast(@s as xml))
GO ----------------------------------------------------------------------------------
--查询XMLTable数据表
select * from XMLTable
----------------------------------------------------------------------------------
--循环插入100万条数据
declare @i int
declare @r varchar(200)
set @i=1
while @i<1000000
begin
insert into [XML].[dbo].[XMLTable]
([XMLCol])
--select * from [xml]
select * from
openrowset(BULK 'G:\NXDData\xmldata\xmldata\00\00\00\00000000.xml', SINGLE_CLOB) as x
set @i=@i+1
end
----------------------------------------------------------------------------------
--循环插入数据
declare @x int
declare @y int
declare @count int
set @x = 0
while @x < 100
begin
set @y = 0
while @y < 100
begin
set @count = 0
while @count < 100
begin
declare @path nvarchar(200)
set @path = N'insert into [XML].[dbo].[XML]([XML])select * from openrowset(bulk ''G:\NXDData\xmldata\xmldata\00\' + right(''+cast(@x as nvarchar),2) + N'\' + right(''+cast(@y as nvarchar),2) + N'\00' + right(''+cast(@x as nvarchar),2) + right(''+cast(@y as nvarchar),2)+ right(''+cast(@count as nvarchar),2)+ N'.xml'',SINGLE_CLOB) as x';
EXEC sp_executesql @path
set @count = @count + 1
end
set @y = @y + 1
end
set @x = @x + 1
end
----------------------------------------------------------------------------------
--XML主索引
create primary xml index IPXML_XMLTable_XMLCol on XMLTable(XMLCol);
--XML路径辅助索引
create xml index IXML_XMLTable_XMLCol_Path on XMLTable(XMLCol)
using xml index IPXML_XMLTable_XMLCol for path
--XML属性辅助索引
create xml index IXML_XMLTable_XMLCol_Property on XMLTable(XMLCol)
using xml index IPXML_XMLTable_XMLCol for Property
--XML内容辅助索引
create xml index IXML_XMLTable_XMLCol_value on XMLTable(XMLCol)
using xml index IPXML_XMLTable_XMLCol for value
----------------------------------------------------------------------------------
--查询语句
select TOP 1000 XMLCol.query('(/authorinfo/personinfo)[1]') as xm from XMLTable select * from xmlTable where XMLCol.value('(/authorinfo/personinfo/firstname)[1]','nvarchar(50)') ='维春' select XMLCol.query('(/dd/a[@id>2])[1]') as xm from XMLTable
SQL Server 对XML数据类型的SQL语句总结的更多相关文章
- sql server 中xml 数据类型的insert、update、delete
近日对SQL操作XML作了如下整理: 1.插入 XML DECLARE @myDoc XMLSET @myDoc = '<Root> <ProductDescription Prod ...
- sql server xtype 对应数据类型名称sql查询
SELECT c.name,c.user_type_id,t.name FROM sys.[columns] AS c INNER JOIN sys.types AS t ON t.user_type ...
- SQL Server 输出 XML
一.概述 SELECT 查询将结果作为行集返回.在 SQL 查询中指定 FOR XML 子句,从而将该查询的正式结果作为 XML 来检索.FOR XML 子句可以用在顶级查询和子查询中.顶级 FOR ...
- SQL Server FOR XML PATH 语句的应用---列转行
经常在论坛看到高手使用了 for xml path,由于是搜索一下,记录了详细的使用方法.在SQL Server中利用 FOR XML PATH 语句能够把查询的数据生成XML数据,下面是它的一些应用 ...
- SQL Server对Xml字段的操作
T-Sql操作Xml数据 一.前言 SQL Server 2005 引入了一种称为 XML 的本机数据类型.用户可以创建这样的表,它在关系列之外还有一个或多个 XML 类型的列:此外,还允许带有变量和 ...
- Sql Server 支持的数据类型
T-SQL语言和SQLServer数据库中的数据通常需要定义一个数据类型,数据类型定义了对象可以容纳的数据的种类. 哪些对象需要数据类型 (1).表和视图的列: 在定义 ...
- sql server 操作xml例子
sql server 操作xml例子 /* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1.xml: 能认识元素.属性和值 2.xp ...
- c#Winform程序调用app.config文件配置数据库连接字符串 SQL Server文章目录 浅谈SQL Server中统计对于查询的影响 有关索引的DMV SQL Server中的执行引擎入门 【译】表变量和临时表的比较 对于表列数据类型选择的一点思考 SQL Server复制入门(一)----复制简介 操作系统中的进程与线程
c#Winform程序调用app.config文件配置数据库连接字符串 你新建winform项目的时候,会有一个app.config的配置文件,写在里面的<connectionStrings n ...
- SQL SERVER中XML查询:FOR XML指定PATH
SQL SERVER中XML查询:FOR XML指定PATH 前言 在SQL SERVER中,XML查询能够指定RAW,AUTO,EXPLICIT,PATH.本文用一些实例介绍SQL SERVER中指 ...
随机推荐
- 常问面试题:C++中sizeof的陷阱及应答
C++中sizeof是经常被问到的一个概念,比如,下面的几个关于sizeof的面试题反复出现在各大IT公司的技术面试当中,我们有必要完全理解并掌握.注:在曾经面试大公司时,我的确被问到过这样的问题. ...
- 常用的一些javascript小技巧
(转载)常用的一些javascript小技巧: http://bbs.blueidea.com/thread-2201069-1-1.html
- IIS中,当文件夹被删除时,防止应用程序重启的解决办法
如果你曾经修改了ASP.NET应用程序(dll文件),与修改了bin文件夹或Web.config文件(添加/删除/重命名的文件等),而该网 站在运行,你可能已经注意到,这将导致在AppDomain的重 ...
- 此类目的是防治序列化Json字符串时的循环引用问题-------最好解决方案
http://james.newtonking.com/json/help/index.html using Newtonsoft.Json;using System;using System.Col ...
- Objective-C内存管理基础
2011-05-11 15:45 朱祁林 http://zhuqil.cnblogs.com 字号:T | T 本文我们将介绍<Objective-C内存管理基础>,在iOS开发中,内存管 ...
- Spring和quartz整合的入门使用教程
Quartz的maven依赖 <!-- quartz 的jar --> <dependency> <groupId>org.quartz-scheduler< ...
- R语言中的MySQL操作
R语言中,针对MySQL数据库的操作执行其实也有很多中方式.本人觉得,熟练掌握一种便可,下面主要就个人的学习使用情况,总结其中一种情况-----使用RMySQL操作数据库. 1.下载DBI和RMySQ ...
- 分享:宽恕的艺术 Forgive
宽恕的艺术 To forgive may be divine, but no one ever said it was easy. 宽恕是神圣的,但是没有人说很容易做到宽恕别人. When someo ...
- 一条SQL引起的雪崩
1.问题描述 MySQL服务器卡死,CPU飚到300%多,命令执行缓慢. 2.问题定位 踩了狗屎运,直接找到了问题缘由 发现了一条SQL写的模糊匹配,将%写在了关键字的前面,这样会造成查询不使用索引, ...
- python 面向对象(进阶篇)转载武沛齐
上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使 ...