编写CLR存储过程中使用SqlDataRecord
2015-04-06 15:58
477 查看
温习一下这些天学习的CLR编程,存储过程,函数。
编写CLR的存储过程,运行起来的效率,果然比普通的SQL语句,存储过程或是函数均高。
以后专案需求,或是执行效率较高的SQL,得写成CLR程序,再部署至SQL中去,这样可以解决问题。
可复制代码:
编译与部署至SQL之后,可看到新创建的CLR存储过程:
看看效率:
http://www.cnblogs.com/insus/p/4383952.html
编写CLR的存储过程,运行起来的效率,果然比普通的SQL语句,存储过程或是函数均高。
以后专案需求,或是执行效率较高的SQL,得写成CLR程序,再部署至SQL中去,这样可以解决问题。
可复制代码:
[Microsoft.SqlServer.Server.SqlProcedure] public static void GetFruitByKind(SqlByte kind_nbr) { SqlConnection connection = new SqlConnection("context connection=true"); connection.Open(); string commandText = "SELECT [Fruit_nbr],[FruitKind_nbr],[FruitName] FROM [dbo].[Fruit] WHERE [FruitKind_nbr] = @Kind_nbr "; SqlCommand command = new SqlCommand(commandText, connection); SqlParameter param = new SqlParameter("@Kind_nbr", SqlDbType.TinyInt); param.Value = kind_nbr; command.Parameters.Add(param); SqlDataReader reader = command.ExecuteReader(); SqlDataRecord record = new SqlDataRecord( new SqlMetaData("Fruit_nbr", SqlDbType.TinyInt), new SqlMetaData("FruitKind_nbr", SqlDbType.TinyInt), new SqlMetaData("FruitName", SqlDbType.NVarChar, 100, 1033, SqlCompareOptions.None) ); SqlContext.Pipe.SendResultsStart(record); while (reader.Read()) { record.SetByte(0, Convert.ToByte(reader["Fruit_nbr"])); record.SetByte(1, Convert.ToByte(reader["FruitKind_nbr"])); record.SetString(2, reader["FruitName"].ToString()); SqlContext.Pipe.SendResultsRow(record); } SqlContext.Pipe.SendResultsEnd(); }
编译与部署至SQL之后,可看到新创建的CLR存储过程:
看看效率:
http://www.cnblogs.com/insus/p/4383952.html
相关文章推荐
- 编写CLR存储过程中使用SqlDataRecord
- CYQ.Data 轻量数据层之路 使用篇五曲 MProc 存储过程与SQL(十六)
- sql T_sql 关于CLR扩展存储过程的使用
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)
- CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)
- CYQ.Data 轻量数据层之路 使用篇五曲 MProc 存储过程与SQL(十六)
- CYQ.Data 轻量数据层之路 使用篇五曲 MProc 存储过程与SQL(十六)
- CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)
- 使用SqlDataAdapter在存储过程中获取记录集填充DataSet
- CYQ.Data 轻量数据层之路 使用篇五曲 MProc 存储过程与SQL(十六)
- CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)
- 使用 sqldatareader 利用存储过程,一次读多个表,避免多次查询
- 这周的工作任务,编写sql存储过程
- 使用SQL存储过程要特别注意的问题-注意顺序读取
- 在.net中使用sql存储过程
- SQL IF..ELSE..在存储过程的使用规范
- SQL存储过程使用心得
- 存储过程: 函数 不能在SQL中使用
- SQL在存储过程中使用递归 http://www.builder.com.cn/2005/0530/192627.shtml