
Sql Server 2008介绍Sql Server 2008的新特性和一些使用方法
文章平均质量分 59
emailqjc
这个作者很懒,什么都没留下…
展开
-
如何对SQL Server中的XML数据进行insert、update、delete
SQL Server 2005/2008增加了对XML数据的支持,同时也新增了几种操作XML的方法,本文主要以SQL Server 2008为例介绍如何对XML数据进行insert、update、delete。 SQL Server中新增加了XML.Modify()方法,分别为xml.modify(insert),xml.modify(delete),xml.modify(repla转载 2010-02-06 13:13:00 · 546 阅读 · 0 评论 -
18句话入门SQLServer XML
/* sql xml 入门: --by jinjazz --http://blog.csdn.net/jinjazz 1、xml: 能认识元素、属性和值 2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法原创 2010-02-09 11:34:00 · 479 阅读 · 0 评论 -
SQLServer2005的Output子句获取刚插入的ID值
语法很简单,比如declare @t table (id uniqueidentifier default newid (), name varchar (100 ))insert into @t (name ) output inserted .id select jinjazz union select sqlserver /*输出类似 3880DB77-5ADF-472原创 2010-02-09 11:28:00 · 587 阅读 · 0 评论 -
SQLServer2005分解并导入xml文件
SQLServer2005分解并导入xml文件 收藏 测试环境SQL2005,windows2003DECLARE @idoc int;DECLARE @doc xml; SELECT @doc=bulkcolumn FROM OPENROWSET( BULK D: /test.xml, SINGLE_BLOB) AS x EXEC sp_xml_preparedocume原创 2010-02-09 14:30:00 · 983 阅读 · 1 评论 -
SQL2005CLR函数扩展-数据导出
收藏 SQLServer数据导出到excel有很多种方法,比如dts、ssis、还可以用sql语句调用openrowset。我们这里开拓思路,用CLR来生成Excel文件,并且会考虑一些方便操作的细节。下面我先演示一下我实现的效果,先看测试语句-------------------------------------------------------------------------原创 2010-02-09 11:43:00 · 498 阅读 · 0 评论 -
SQLServer批量倒入目录文件 收藏
可以用扩展存储过程xp_dirtree获取文件列表,用openrowset倒入数据到二进制字段。openrowset的用法可以参考msdnhttp://technet.microsoft.com/zh-cn/library/ms190312.aspx 如果文件很多,建议还是用程序倒入了if (object_id (t_bulkResult ) is not null )drop原创 2010-02-09 11:31:00 · 468 阅读 · 0 评论 -
SQLServer获取每组前10%的数据
sqlserver2005有关键字ntile(x)和over(partition by.. order by..)子句配合.比如获取每个表的前10%个字段。select id , name , colid , rn from (select * , rn = ntile (10 ) over (partition by id order by colorder ) from sysc原创 2010-02-09 11:21:00 · 814 阅读 · 0 评论 -
SQLServer中的Scanf和Printf 收藏
SQLServer中有两个扩展存储过程实现Scanf和Printf功能,恰当的使用它们可以在提取和拼接字符串时大幅度简化SQL代码。1、xp_sscanf,用它可以分解格式相对固定的字符串,这对于厌倦使用一堆substring和charindex的朋友来说不错。比如前几天的一个帖子中提出的如何分解ip地址,相对简练且通用的代码应该是下面这样-------------------------原创 2010-02-09 11:39:00 · 767 阅读 · 0 评论 -
SQL Server 2008 Merge语句的OUTPUT功能
SQL Server 2005中的Output功能可以把Insert,Update和Delete的内容都返回,2008中的Output同样具有此功能,下面介绍一下把Output同2008的新T-SQL语句Merge组合使用的方法:新建下面表:view plaincopy to clipboardprint?CREATE TABLE Book( ISBN varchar(20) P原创 2010-02-06 13:41:00 · 478 阅读 · 0 评论 -
在SQL Server 事务中使用Savepoints来保存提交点
在SQL Server中使用rollback会回滚所有的未提交事务状态,但是有些时候我们只需要回滚部分语句,把不需要回滚的语句提到事务外面来,虽然是个方法,但是却破坏了事务的ACID。其实我们可以使用SQL Server中的Savepoints来解决上述问题。示例如下:1.先建立测试表: CREATE TABLE [dbo].[ttt]( [Id] [int] NULL,原创 2010-02-06 12:05:00 · 455 阅读 · 0 评论 -
如何把数据批量插入具有Identity列的表
1.把表的IDENTITY_INSERT选项设置为ON2.插入时要指定相应的列名示例如下:1.建表,初始化数据: create table InsertTable1 ( Id int identity(1,1), Mark varchar(10) ) create table InsertTable2 ( Id int identity(1,1), Mark varchar(10) )原创 2010-02-06 12:02:00 · 578 阅读 · 0 评论 -
使用MultipleActiveResultSets复用Sql Server 2008数据库连接
MultipleActiveResultSets可以使数据库连接复用。这样就不怕数据库的连接资源被耗尽了。使用方法很简单,只需要把它加到数据的连接字符串中即可。例如:server=(local);Integrated Security = true;database=AdventureWorks;MultipleActiveResultSets=true;测试用例:using Syst原创 2010-02-06 14:10:00 · 1088 阅读 · 0 评论 -
select * from sp_who的解决方案
sql server中提供很多有用的系统存储过程,但是我们都知道,存储过程的结果集是不能用select来过滤的,也就是说select * from sp_who where [dbname] = xxx;这样的语句是执行不过。下面介绍两种方法来解决这个问题方法一:使用临时表。首先创建一个与sp_who相同字段的临时,然后用insert into 方法赋值,这样就可以select这个临时表了原创 2010-02-06 14:08:00 · 791 阅读 · 0 评论 -
在sp_executesql中使用like字句
在sp_executesql中可以执行参数化的sql,但是如果sql中有like,那么一般都要拼字符串,下面的例子把两者结合了起来,既有拼sql的灵活性,又有参数化sql的优点。declare @LikeSql nvarchar(32);--定义一个like变量,如果是存储过程,此处可以存储过程的参数set @LikeSql = ‘someword%’;--把LikeSql变量赋值,可以赋原创 2010-02-06 14:04:00 · 568 阅读 · 0 评论 -
SQL Server 2008 新类型介绍之Date和Time
SQL Server 2008除了DateTime和SmallDateTime之外,又新增了四种时间类型,分别为:date,time,datetime2和datetimeoffset。各时间类型范围、精度一览表:数据类型 时间范围 精度 datetime 1753-01-01到9999-12-31 00:00:00 到 23:59:59.997 3.33毫秒 small原创 2010-02-06 13:51:00 · 1296 阅读 · 0 评论 -
在SQL Server 中使用EVENTDATA()函数来获取DDL 触发器信息
SQL Server 2005/2008中可以使用EVENTDATA函数来获取DDL触发器的上下文,从而在ROLLBACK之前截获DDL信息。EVENTDATA返回XML字段,下面的例子显示如何截获Drop Table的DDL信息。view plaincopy to clipboardprint?-- Create a log table CREATE TABLE TriggerLog (原创 2010-02-06 13:47:00 · 779 阅读 · 0 评论 -
在SQL Server 事务中使用Savepoints来保存提交点
在SQL Server中使用rollback会回滚所有的未提交事务状态,但是有些时候我们只需要回滚部分语句,把不需要回滚的语句提到事务外面来,虽然是个方法,但是却破坏了事务的ACID。其实我们可以使用SQL Server中的Savepoints来解决上述问题。示例如下:1.先建立测试表: CREATE TABLE [dbo].[ttt]( [Id] [int] NULL,原创 2010-02-06 12:04:00 · 734 阅读 · 0 评论 -
SQL2008新特性
http://www.cnblogs.com/studyzy/archive/2008/08/28/1278238.html原创 2010-03-11 19:39:00 · 1091 阅读 · 0 评论