文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SQL拾遗之存储过程

SQL拾遗之存储过程

时间:2011-03-28  来源:黑白电影

     今天的ADO.NET课,在讲解存储过程参数输入与输出的时候,才发觉自己学得是那么的浅薄,原来自己只会那几句基本的增删改查语句。      Q:为什么ADO.NET中Command对象Parameters集合中的Direction属性有分为PatameterDirection.Input(只输入参数),PatameterDirection.InputOutput(双向参数),PatameterDirection.Output(只输出参数),PatameterDirection.ReturnValue(存储过程的返回值)?       A:在上这节课之前,我也写过一些存储过程,就是简单的以为: View Code
1 create proc [存储过程名]
2 参数1,参数....
3 as
4 ....--原以为只要写一些简单的SQL语句,原谅我的浅薄
       才发现原来参数里面大有文章。查阅SQL20005联机丛书的指定参数方向可以看出,参数分为in(输入参数,默认),out(输出),这就与前面的枚举对应了。至于PatameterDirection.ReturnValue则是由RETURN语句从存储过程中返回信息。     Q:为什么会有'Return Value'这个值呢?     A:只要不声明SET NOCOUNT ON,返回的值就是受影响的行数。     Q:什么时候用到SET NOCOUNT ON?     A:根据我的揣测(还没证实),比如说增删改就需要返回受影响的行数,这样就能在ADO.NET中调用ExecuteNonQuery()方法来判断是否增加\修改\删除了;关于需要导出为DataTable的查询语句,返回的受影响的行数为0,所以完全没必要来返回受影响的行数,添加SET NOCOUNT ON,对性能上应该有所提高。

   
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载