CLR存储过程和触发器的实际应用领域

在SQL Server2008中,除了用Transact-SQL(T-SQL)编写函数,存储过程,触发器,用户定义聚合和用户定义类型外,还可以使用Microsoft.NET Framework公共语言运行时CLR中所驻留的托管代码语言C#、C++、VB等之一编写。托管代码比T-SQL更加适合实现复杂的执行逻辑,同时它对于许多复杂任务都提供广泛的支持,包括字符串处理和正则表达式。T-SQL比较适合实现具有少量或者非过程性逻辑的数据访问的情况。如果存储过程很简单,那么最好使用T-SQL编写。以下的实例,都采用C#语言来实现。
Microsoft.SqlServer.Server命名空间:命名空间为Microsoft.SqlServer.Server,包含将CLR集成到Microsoft SQL Server和SQL Server数据库引擎过程执行环境时所用到的类,接口和枚举。Microsoft.SqlServer.Server命名空间一些常用的类如下:
(1)SqlContext;表示调用方上下文的抽象,该上下文提供对SqlPipe,SQlTriggerContext和WindowsIdentity对象的访问。
(2)SqlDataRecord:表示单个数据行及其元数据
(3)SqlPipe;允许托管存储过程在SQL Server 2008数据库进程内运行,以便将结果返回调用方。
(4)SqlProcedureAttribute;用于将程序集中的方法定义标记为存储过程
(5)SqlTriggerAttribute;用于将程序集中的方法定义标记为SQL Server中的触发器
(6)SqlTriggerContext; 提供激发触发器的上下文信息

posted on 2010-09-12 22:09  Cleak  阅读(231)  评论(0)    收藏  举报

导航