1.存储过程
1.1 什么是存储过程?
存储过程 (stored Procedure)是在大型数据库系统中,一组为了完成特定功能的sql语句集,经编译后存储在数据库中,通过调用存储过程的名称并给定参数来执行。其实质是部署在数据库端的一组定义代码以及sql语句。
1.2为什么要用存储过程
1.灵活性强
2.保证安全性和完整性
3.执行效率高
4.降低网络通信量
1.3缺点
1.代码编辑环境差
2.缺少兼容性
3.重新编译问题
4.维护麻烦
1.4 有几种存储过程
1.系统存储过程
2.本地存储过程
3.临时存储过程:本地临时、全局临时
4.远程存储过程
5.扩展存储过程
2.用sql语句创建存储过程
2.1三种形式的存储过程
1.不带参数的存储过程
2.带输入参数的存储过程
3.带输出参数的存储过程
2.2 代码演示:
1.不带参数的存储过程
例:创建一个用户存储过程(优秀学生),将学生成绩为90分以上的学生检索出来。
create proc 优秀学生
AS select 学生.学号,学生.姓名,课程.课程名称,成绩.成绩 From 学生 inner join 成绩 on
学生.学号=成绩.学号 inner join 课程 on 成绩.课程编号 = 课程.课程编号
where 成绩.成绩>90
2.带输入参数的存储过程
例:创建一个用户存储过程(插入学院),向学院表插入一个新记录。
creat procedure 插入学院
@Param1 char(1), @Param2 char(2),
@param3 char(3),@param4 char(13),@param5 char(5)
AS
BEGIN
INSERT INTO 学院(学院编号,学院名称,院长姓名,电话,地址) values(@param1,@param2,@param3,@param4,@param5
)
END
3.带输出参数的存储过程
例:创建存储过程add_proc1,它的功能是计算两个参数之和,并将结果使用输出参数返回,具体语句如下:
create procedure add_proc1
@num1 int =0,
@num2 int =0,
@num3 int output
AS
SET @ num3=@num1+@num2