存储过程:
一种为了完成特定功能的一个或一组SQL语句集合。经编译后存储在服务器端的数据库中,
可以利用存储过程来加速SQL语句的执行。调用名称,传入参数,执行来完成特定功能。
分类:
系统存储过程: master系统数据库中,其他数据库中可直接调用,调用时不必在前面加上数据库名,
因为创建新数据库时,这些存储过程在心得数据库中自动创建。
自定义存储过程:用户自己创建,完成特定的功能而创建。既可以传入参数,也可以有返回值,
表明存储过程是否成功,里面可以只是一个操作,也可以包括多个。
执行:通过 execute / exec 存储过程名 参数列表(多个参数,以逗号隔开)
优点:1.提高应用程序的通用性和可移植性。一次编译,可多次调用,而不必重新再去编写,维护人员可以随时修改。
2.可以更有效的管理数据库的权限。
3.可以提高执行SQL的速度
4.减轻服务器的负担
缺点:专门维护它,占用数据库空间。
语法:
create procedure/proc 存储过程名
@uid int,
@pwd varchar(50)
as
begin
–T-SQL语句
end
创建/修改一个简单存储过程
create/alter procedure SearchUserInfo
as
begin
select * from Book
end
调用存储过程
execute/exec SearchUserInfo
–创建带参数的存储过程
create procedure AddBookInfo
@name varchar(30),
@price int
as
begin
declare @bid int
set @bid = 1056
insert Book(id,name,price)
values
(@bid,@name,@price)
select * from Book
end
–调用带参数的存储过程
exec AddBookInfo ‘SEM’,40