目录
存储过程:
一种为了完成特定功能的一个或一组SQL语句集合。经编译后存储在服务器端的数据库中,可以利用存储过程来加速SQL语句的执行。
调用名称,传入参数,执行来完成特定的功能。
分类:
系统存储过程:
存在于master数据库中,其他数据库中可以之间调用,并且在调用时不必在前面加上数据库名,创建数据库时,这些系统存储过程在新的数据库中自动创建。
用户自定义存储过程:
用户自己为了实现特定功能创建的。可以传入参数,也可以有返回值,表名存储过程是否执行成功。 里面可以只有一个操作,也可以包括多个操作。
执行:execute/exec 存储过程名 参数列表(多个参数,以逗号隔开)
优点:
提高应用程序的通用性和可移植性。存储过程创建之后,可以多次调用,而不必重新再去编写,维护人员可以随时修改。
可以更有效地管理数据库的权限
提高执行SQL的速度
减轻服务器的负担
缺点:
需要专门维护,占用数据库空间。
语法:
脚本创建/修改存储过程语法:
create/alter procedure/proc proName
--参数列表
as
begin
--T-SQL语句集合
end
删除存储过程:
drop proc procName
创建无参存储过程:
创建有参存储过程
--创建有参存储过程
create proc InsertInfo
@AccountCode varchar(30),
@AccountPhone char(11),
@RealName varchar(30)
as
begin
declare @time datetime
set @time = '2020-12-31'
insert into AccountInfo(AccountCode,AccountPhone,RealName,OpenTime)
values(@AccountCode,@AccountPhone,@RealName,@time)
end
调用有参存储过程:
--调用
exec InsertInfo '42107199005064166','13554785436','孙尚香'
select * from AccountInfo
结果;