存储过程和触发器

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值