带参数的CLR存储过程

9/1/2015来源:SQL技巧人气:1511

带参数的CLR存储过程

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

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

可复制代码:

SqlConnection connection = new SqlConnection("Context connection=true");        connection.Open();        SqlCommand command = new SqlCommand();        command.Connection = connection;        string sql = "SELECT [Fruit_nbr],[FruitKind_nbr],[FruitName] FROM [dbo].[Fruit] WHERE [FruitName] LIKE @FruitName";                   command.CommandText = sql;        SqlParameter param = new SqlParameter("@FruitName", SqlDbType.NVarChar);        param.Value = name;        command.Parameters.Add(param);        try        {                        SqlDataReader reader = command.ExecuteReader();            SqlContext.Pipe.Send(reader);        }        catch  (Exception ex)          {            throw new Exception(ex.Message);        }               connection.Close();
View Code

编写CLR存储过程,有点像是在程序中直接写SQL语句一样,不过有细规范与细节不同而已。Insus.NET觉得CLR存储过程,是一适合一些较稳定与成熟的程序,当布署之后,一般不需要修改的。因为CLR存储程有更新或是升级,需要删除原旧有已经布署好的存储过程以及Assembly,然后才可以重新布署新版本的CLR存储过程。

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

当全部Drop完之后,再参考昨天的CLR存储过程SQL布署方法,重新布署......下面演示执行新添加的CLR存储过程: