摘要:------------------------------------ --用途:支持任意排序的分页存储过程 --说明: ------------------------------------ CREATE PROCEDURE [dbo].[UP_GetRecordByPageOrder] @tblName varchar(255), -- 表名 @fldName varchar(255...
阅读全文
摘要:SQL Server中的聚合,常用的比如max,count之类。 我们现在也可以在SQLCLR里创建自定义的聚合。Visual Studio 2005中提供的聚合模板是一个结构,标注了[Serializable],[SqlUserDefinedAggregate]标签,这将让SQLCLR知道这是一个聚合函数。 看一段代码,这段代码来自SQL Server 2005联机丛书,本来自己想写一段,但突然...
阅读全文
摘要:这一节比较简单了,主要是讲如何在SQLCLR下设计触发器。在SQLServer2005里分两种触发器,DDL和DML两种触发器。DDL触发器是响应CREATE、ALTER 和 DROP 开头的语句。我们常用的是DML触发器,这一类触发器响应当数据库中发生数据操作包括表或视图中修改数据的 INSERT 、UPDATE 或 DELETE 。 对于.net来讲触发器也是方法,在上方标注[Microsof...
阅读全文
摘要:用户自定义类型是SQL Server 2005的新特性。和前几篇文章介绍的SQLCLR相比,UDT相对有此复杂。UDT也有许多限制和必须遵守UDT规范。UDT的二进制不能超过8000个字节,必须包含一个null值表示,因为SQLServer的数据类型是允许null值的。 UDT可以是结构或类。如果是类的话需加[StructLayout(LayoutKind.Sequential)] 标签(属性),...
阅读全文
摘要:自定义函数和存储过程在.net里其实都是方法。只是方法上方标注[Microsoft.SqlServer.Server.SqlProcedure] 和[Microsoft.SqlServer.Server.SqlFunction]不同而已。自定义函数又分TVF函数和Scalar两种,最大区别在于TVF返回表后者返回Scalar(标量),这一篇我们做一下比较。 先看两段代码 存储过程: using S...
阅读全文
摘要:SQL Server 2005发布后,可以编写出能够在SQL Server中运行的.net代码了。同IIS一样,SQL Server 2005也是.net程序的宿主。 首先安装sqlserver2005和visual studio 2005。启用sqlserver2005的clr ,应先在sqlsever的查询分析器按实际情况执行下边的语句 exec sp_configure 'clr enabl...
阅读全文
摘要:--DDL语句(数据定义语言--Data definition language) --创建库脚本 CREATE DATABASE SQLTips ON ( NAME = SQLTips_data,--文件名 FILENAME = 'D:\Data\SQLTips_data.mdf',--文件物理路径 SIZE = 10,--文件大小 FILEGROWTH = 10MB--文件增长大小 ) LOG...
阅读全文