1 / 76
文档名称:

存储过程触发器游标.ppt

格式:ppt   大小:1,769KB   页数:76页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

存储过程触发器游标.ppt

上传人:350678539 2021/12/3 文件大小:1.73 MB

下载得到文件列表

存储过程触发器游标.ppt

文档介绍

文档介绍:存储过程、触发器、游标、事务
教学要求:通过本章学****读者应掌握以下内容:
存储过程和触发器的作用
存储过程的创建、修改和删除
存储过程的灵活运用
触发器的创建、修改和删除
1
第一页,共76页。
存储过程的概念
存储过程是一组编译在单个执行计划中的Transact-SQL语句,将一些固定的操作集中起来交给SQL Server数据库服务器完成,以实现某个任务。
存储过程的优点
(1)与其他应用程序共享应用程序逻辑,因而确保了数据访问和修改的一致性。
(2)防止数据库中表的细节暴露给用户。
(3)提供安全机制。
(4)改进性能。
(5)减少网络流量。
2
第二页,共76页。
存储过程的类型
(1)系统存储过程。Sp_help
(2)本地存储过程。学****对象
(3)临时存储过程。不永久保存
(4)远程存储过程。
(5)扩展存储过程。 C语言等
3
第三页,共76页。
建立和执行存储过程
简单存储过程类似于将一组SQL语句起个名字,然后就可以在需要时反复调用。复杂一些的则要有输入和输出参数。
CREATE PROCEDURE 存储过程名
[WITH ENCRYPTION]--对存储过程进行加密
[WITH RECOMPILE]--对存储过程重新编译
AS
SQL 语句
4
第四页,共76页。
【例】从S_C数据库的三个表中查询,返回学生学号、姓名、课程名、成绩。该存储过程实际上只返回一个查询信息。
CREATE PROCEDURE stu_cj
AS
SELECT ,sname,cname,grade
FROM student INNER JOIN sc
ON = INNER JOIN course
exec stu_cj
5
第五页,共76页。
execute 除了可以执行存储过程,还可以执行sql语句。
execute (‘select * from student’)
DECLARE ***@tab_name varchar(20)
SET ***@tab_name='student'
EXECUTE('SELECT * FROM '+***@tab_name)
6
第六页,共76页。
带输入参数的存储过程
一个存储过程可以带一个或多个参数,输入参数是指由调用程序向存储过程传递的参数,它们在创建存储过程语句中被定义,在执行存储过程中给出相应的参数值。
7
第七页,共76页。
【】从S_C数据库的三个表中查询某人指定课程的成绩。
CREATE PROCEDURE stu_cj1
***@name char(10),***@cname char(16)
AS
SELECT ,sname,cname,grade
FROM student INNER JOIN sc
ON = INNER JOIN course
WHERE =***@name AND =***@cname
8
第八页,共76页。
2.调用存储过程
在执行存储过程的语句中,有两种方式传递参数值,分别是使用参数名传递参数值和按参数位置传递参数值。
按参数位置传递参数值:
exec stu_cj1 '王勇','数据库管理系统'
参数名传递参数值:
exec stu_cj1 ***@cname='数据库管理系统',***@name='王勇'
9
第九页,共76页。
使用参数名传递参数值,当存储过程含有多个输入参数时,对数值可以按任意顺序给出,对于允许空值和具有默认值的输入参数可以不给参数值.
按参数位置传递参数值,也可以忽略允许为空值和有默认值的参数,但不能因此破坏输入参数的指定顺序。必要时使用关键字“DEFAULT”作为参数值的占位。
10
第十页,共76页。