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

概述

概念:是一组为了完成特定功能的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.姓名

猜你喜欢

转载自blog.csdn.net/huihui1314_/article/details/82458443
今日推荐