带参数的CLR存储过程

 昨天有学习《简单创建与布署CLR存储过程http://www.cnblogs.com/insus/p/4371762.html,知道怎样创建以及布署至SQL中去。

下面这个范例是实现CLR存储过程附带参数:


可复制代码:

  View Code


编写CLR存储过程,有点像是在程序中直接写SQL语句一样,不过有细规范与细节不同而已。

Insus.NET觉得CLR存储过程,是一适合一些较稳定与成熟的程序,当布署之后,一般不需要修改的。因为CLR存储程有更新或是升级,需要删除原旧有已经布署好的存储过程以及Assembly,然后才可以重新布署新版本的CLR存储过程。


删除FruitClr assembly相关的存储过程:



再删除Assembly:


当全部Drop完之后,再参考昨天的CLR存储过程SQL布署方法,重新布署......

下面演示执行新添加的CLR存储过程:


http://www.cnblogs.com/insus/

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CLR 存储过程是一种使用 .NET Framework 编写的存储过程,可以使用 C# 或 VB.NET 等编程语言来编写存储过程的实现代码。CLR 存储过程可以访问 .NET Framework 的所有功能和类库,可以在存储过程中使用异步编程模型、LINQ 查询、XML 处理、正则表达式等高级功能。 下面是一个使用 CLR 存储过程的示例: 1. 创建 CLR 存储过程项目:首先需要在 Visual Studio 中创建一个 CLR 存储过程项目。可以选择“SQL Server 项目” - “SQL Server CLR 项目”来创建项目。 2. 编写存储过程代码:在项目中添加一个类,然后编写存储过程的实现代码。存储过程需要继承自 SqlProcedure 类,并使用 SqlProcedureAttribute 特性来标识存储过程的名称、输入参数和输出参数等信息。例如: ``` using System.Data.SqlClient; using Microsoft.SqlServer.Server; public partial class StoredProcedures { [SqlProcedure(Name = "MyStoredProcedure")] public static void MyStoredProcedure(SqlString input, out SqlString output) { // 存储过程的实现代码 output = "Hello, " + input.Value; } } ``` 在上面的示例中,我们创建了一个名为 MyStoredProcedure 的存储过程,该存储过程接受一个输入参数 input 和一个输出参数 output,将输入参数和一个字符串拼接后赋值给输出参数。 3. 编译和部署存储过程:在 Visual Studio 中编译项目生成 DLL 文件,然后将 DLL 文件部署到 SQL Server 中。可以使用 CREATE ASSEMBLY 和 CREATE PROCEDURE 语句来创建 CLR 存储过程。例如: ``` CREATE ASSEMBLY MyAssembly FROM 'C:\MyAssembly.dll' WITH PERMISSION_SET = SAFE GO CREATE PROCEDURE MyStoredProcedure @input NVARCHAR(50), @output NVARCHAR(50) OUTPUT AS EXTERNAL NAME MyAssembly.[StoredProcedures].MyStoredProcedure GO ``` 在上面的示例中,我们使用 CREATE ASSEMBLY 语句来创建程序集,指定程序集的文件路径和权限级别。然后使用 CREATE PROCEDURE 语句来创建存储过程,指定存储过程的名称、输入参数和输出参数,并指定存储过程实现的 CLR 方法。 4. 调用存储过程:在 SQL Server 中使用 EXECUTE 或 CALL 语句来调用存储过程。例如: ``` DECLARE @output NVARCHAR(50) EXEC MyStoredProcedure 'world', @output OUTPUT SELECT @output ``` 在上面的示例中,我们使用 EXECUTE 语句来调用存储过程,传入一个字符串参数 'world',并将输出参数赋值给变量 @output。最后,我们使用 SELECT 语句来显示输出参数的值。 需要注意的是,CLR 存储过程可能会对数据库服务器的性能产生影响,因此需要谨慎使用。在使用 CLR 存储过程时,应该仔细考虑存储过程的安全性、性能和错误处理等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值