如何:创建和运行 CLR SQL Server 用户定义的来源: 发布时间:星期二, 2009年2月3日 浏览:25次 评论:0
="t18">通过向 SQL Server 项目添加“用户定义”创建用户定义 SQL 部署成功后可并执行用户定义
注意 在默认情况下Microsoft SQL Server 中关闭了公共语言运行库 (CLR) 集成功能必须启用该功能才能使用 SQL Server 项目项若要启用 CLR 集成请使用 sp_configure 存储过程“启用 clr”选项有关更多信息请参见启用 CLR 集成 注意 显示对话框和菜单命令可能会和帮助中描述区别具体取决于您现用设置或版本若要更改设置请在“工具”菜单上选择“导入和导出设置”有关更多信息请参见 Visual Studio 设置 创建用户定义 SQL Server 使用 Visual Studio 建立和部署此 打开个现有“SQL Server 项目”或者创建个新项目有关更多信息请参见如何:创建 SQL Server 项目 从“项目”菜单中选择“添加新项” 在“添加新项”对话框 中选择“用户定义” 键入新用户定义“名称” 添加执行用户定义时运行代码请参见下面第个举例 注意 C 举例在编译时必须使用 /clr:safe 编译器选项 对于 Visual Basic 和 Visual C#在“解决方案资源管理器”中打开“TestScripts”文件夹然后双击“Test.sql”文件以打开它进行编辑添加执行您用户定义代码请参见下面第 2个举例 对于 Visual C在“解决方案资源管理器”中双击“debug.sql”文件以打开它进行编辑添加执行您用户定义代码请参见下面第 2个举例 将用户定义部署到 SQL Server有关更多信息请参见如何:将 SQL Server 项目项部署到 SQL Server 中 按 F5 通过在 SQL Server 上执行用户定义来对其进行调试 下面代码举例创建用户定义将价格作为参数标量 addTax添加销售税并返回价格和销售税加和 创建该后将其部署到 SQL Server有关更多信息请参见如何:将 SQL Server 项目项部署到 SQL Server 中 Visual Basic 复制代码 Imports .Data.SqlTypes Imports Microsoft.SqlServer.Server Partial Public Class UserDefinedFunctions Public Const SALES_TAX As Double = 0.086 <SqlFunction> _ Public Shared Function addTax(ByVal originalAmount As SqlDouble) As SqlDouble Dim taxAmount As SqlDouble = originalAmount * SALES_TAX Return originalAmount + taxAmount End Function End Class C# 复制代码 using .Data.SqlTypes; using Microsoft.SqlServer.Server; public partial UserDefinedFunctions { public const double SALES_TAX = .086; [SqlFunction] public SqlDouble addTax(SqlDouble originalAmount) { SqlDouble taxAmount = originalAmount * SALES_TAX; originalAmount + taxAmount; } } C 复制代码 # "stdafx.h" #using <.dll> #using <.Data.dll> #using <.Xml.dll> using ; using ::Data; using ::Data::Sql; using ::Data::SqlTypes; using Microsoft::SqlServer::Server; // In order to debug your Aggregate, add the following to your debug.sql file: // // SELECT dbo.addTax(10) // public ref UserDefinedFunctions { public: initonly double SALES_TAX = 0.086; [SqlFunction] SqlDouble AddTax(SqlDouble originalAmount) { SqlDouble taxAmount = originalAmount * SALES_TAX; originalAmount + taxAmount; } }; 向您项目中 TestScripts 文件夹中 Test.sql(在 Visual C 中为 debug.sql)文件添加用于测试用户定义代码例如若要测试此请使用查询如“SELECT dbo.addTax(10)”您应见到返回值“10.86” 复制代码 SELECT dbo.addTax(10) 0
相关文章
读者评论发表评论 |
|