数据库视频总结(六)——存储过程

概述

概念:是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,存储过程可包含程序流,逻辑以及对数据库的查询。

为什么使用:
1、存储过程与其他应用程序共享应用程序逻辑
2、具有安全性和所有权连接,以及可以附加到他们的证书
3、提供安全机制
4、允许模块化程序设计
5、可以减少网络通信流量

种类:
1、用户自定义存储过程
2、系统存储过程、
3、扩展存储过程

创建存储过程

语法格式:

CREATE PROC 存储过程名称
参数
Varying=default
With
Recompile
As
Sql_statement[…n]

举例:创建存储过程查看所有男同学的信息

create procedure proc_student
@sex varchar(10)
as
select * from 学生信息 
where 性别=@sex
exec proc_student @sex='男'

使用带默认值的参数

create proc p_employee
@departmentid varchar(10),
@zhiwei varchar(20)=’职员’
as


    select A.员工姓名,a.所任职位,a. 联系电话,b.部门名称
    from 员工信息 A,部门信息 B
    on a.所在部门编号=b.部门编号 and b.部门编号=departmentid and a.所任职位=@zhiwei

修改存储过程

语法格式:

ALTER PROCEDURE procedure_name
参数
VARYING=default
With

删除存储过程

语法格式:
DROP PROCEDUER

设计存储过程的规则

规则:
1、可以引用在同一存储过程中创建的对象,只要引用时已经创建了该对象即可
2、可以在存储过程内引用临时表
3、如果执行的存储过程将调用另一个存储过程,则被=调用的存储过程可以访问由第一个存储过程创建的所有对象,包括临时表在内
4、如果执行远程SQL实例进行更远的远程存储过程,则不但能回滚这些更改。远程存储过程不参与事务处理
5、存储过程中的参数的最大数目为2100
6、存储过程中的局部变量的最大数目仅受可用内存的限制
7、根据可用内存的不同,存储过程最大可达125mb

临时存储过程:

举例:

create procedure #get_info
as 
    select a.成绩,b.姓名 from 成绩信息 A,学生信息 b where a.学生编号=b.学号
    order by b.姓名
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值