SQL之存储过程详细介绍及语法
1:定义
存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行。
存储过程分为系统存储过程和自定义存储过程。
*系统存储过程在master数据库中,但是在其他的数据库中可以直接调用,并且在调用时不必在存储过程前加上数据库名,因为在创建一个新数据库时,系统存储过程
在新的数据库中会自动创建
*自定义存储过程,由用户创建并能完成某一特定功能的存储过程,存储过程既可以有参数又有返回值,但是它与函数不同,存储过程的返回值只是指明执行是否成功,
并不能像函数那样被直接调用,只能利用execute来执行存储过程。
2:存储过程的优点
*提高应用程序的通用性和可移植性:存储过程创建后,可以在程序中被多次调用,而不必重新编写该存储过程的SQL语句。并且数据库专业人员可以随时对存储过程进行
修改,且对程序源代码没有影响,这样就极大的提高了程序的可移植性。
*可以更有效的管理用户操作数据库的权限:在Sql Server数据库中,系统管理员可以通过对执行某一存储过程的权限进行限制,从而实现对相应的数据访问进行控制,
避免非授权用户对数据库的访问,保证数据的安全。
*可以提高SQL的速度,存储过程是编译过的,如果某一个操作包含大量的SQL代码或分别被执行多次,那么使用存储过程比直接使用单条SQL语句执行速度快的多。
*减轻服务器的负担:当用户的操作是针对数据库对象的操作时,如果使用单条调用的方式,那么网络上还必须传输大量的SQL语句,如果使用存储过程,
则直接发送过程的调用命令即可,降低了网络的负担。
3:创建存储过程
SQL Server创建存储过程:
create procedure 过程名
@parameter 参数类型
@parameter 参数类型
。。。
as
begin
end
执行存储过程:execute 过程名
Oracle创建存储过程:
create procedure 过程名
parameter in|out|in out 参数类型
.......
parameter in|out|in out 参数类型
........
as
begin
命令行或者命令块
exception
命令行或者命令块
end

浙公网安备 33010602011771号