数据库 存储过程
当一个T-SQL程序块需要多次执行时,应该考虑使用存储过程来解决。T-SQL中的存储过程,非常类似于高级语言中的方法,它可以重复调用。当存储过程执行一次后,可以将语句放入缓存中,这样下次执行的时候直接使用缓存中的语句,通过这种方式可以提高存储过程的性能。
存储过程特点

创建无参存储过程

--创建一个存储过程,保存所有性别为女的学生记录
USE jccode
GO
CREATE PROC MyProc
AS
SELECT * FROM Student WHERE Ssex='女'
GO
--使用创建的存储过程,既输出
EXEC MyProc
存储过程的各种用途

创建带有参数的存储过程

--输出成绩大于给定课程号的给定成绩的学生名字
GO
CREATE PROC test
@temp int,--成绩
@s int --课程号
AS
SELECT Student.Sname
FROM SC,Student
WHERE SC.Sno=Student.Sno AND SC.Grade>=@temp AND SC.Cno=@s
GO
EXEC test 80,2
--EXEC test 2,80就是错的!
--EXEC test @temp=80,@s=2也可以

设置输出参数的存储过程


GO
CREATE PROC query
(
@sno varchar(15),
@sn nvarchar(10) OUTPUT,
@sx nvarchar(5) OUTPUT
)
AS
SELECT @sn=Student.Sname,@sx=Student.Ssex
FROM Student
WHERE Student.Sno=@sno
GO
DECLARE @n1 nvarchar(10)
DECLARE @n2 nvarchar(5)
EXEC query '201215121',@n1 OUTPUT,@n2 OUTPUT
SELECT @n1,@n2
存储过程的优点与缺点



浙公网安备 33010602011771号