拾遗一些关于存储过程
拾遗一些关于存储过程
存储过程就如同在运行的方法一样。
它由存储过程名,存储过程参数组成,且可以有返回结果。
它的优点:第一,执行速度更快,因为在数据库中保存的存储过程都是编译过的。第二,允许模块化程序设计,类似方法的利用。第三,提高系统安全性,可防止SQL注入(带参数的SQL语句其实就是调用了sp_executesql存储过程)。第四,减少了网络流通量,因为只要传输存储过程的名称就可以了。
"sp_"或者“xp_”开头,自定义的存储过程是以“usp_”开头的。
存储过程和方法在本质上是没有区别的,只是方法有只能返回一个变量的限制,而存储过程可以返回多个。
创建存储过程的语法:
create proc[edure] 存储过程名
@参数1 数据类型=默认值 output
@参数2 数据类型=默认值 output
as
SQL语句
执行就是:
exec 存储过程名 [参数]
下面是一个存储过程分面的一个图。其有三个参数,分别是第页显示的条数,用户要看的页数,返回总共多少页。
稍微需要注意一下的就是row_number是排名函数,它是用来生成编号的。而over()子句则是告诉之按什么方式来 编号。
然后大概就这些吧。欢迎指错。