码迷,mamicode.com
首页 > 其他好文 > 详细

存储过程与触发器的应用

时间:2014-11-11 19:09:43      阅读:424      评论:0      收藏:0      [点我收藏+]

标签:style   io   color   ar   使用   sp   for   数据   on   

一、实验目的

1、掌握创建存储过程的方法和步骤;

2.掌握存储过程的使用方法;

3.掌握创建触发器的方法和步骤;

4.掌握触发器的使用方法。

二、实验内容

1、存储过程的创建、执行和删除;

2、触发器的创建、执行和删除。

三、实验步骤

1、存储过程的创建、执行和删除。

1)使用S_C数据库中的S表、C表、SC表创建一个带参数的存储过程—cjjicx。该存储过程的作用是: 当任意输入一个学生的姓名时,将从三个表中返回该学生的学号、选修的课程名称和课程成绩。

cjjicx创建语句:

CREATE PROCEDURE cjjicx

@name char(6)

AS

BEGIN

SELECT S.sno, C.cname, SC.grade FROM S, C, SC

WHERE S.sname = @name AND S.sno = SC.sno AND SC.cno = C.cno 

END

 

2)执行cjjicx存储过程,查询“刘晨”的学号、选修课程和课程成绩。

执行语句:

EXEC cjjicx @name = 刘晨

结果描述:

 

3)使用系统存储过程sp_helptext查看存储过程cjjicx的文本信息。

查看结果描述:

sp_helptext cjjicx

 

4)使用S-C数据库中的S表,为其创建一个加密的存储过程—jmxs。该存储过程的作用是:当执行该 存储过程时,将返回计算机系学生的所有信息。

jmxs创建语句:

CREATE PROCEDURE mxs WITH ENCRYPTION

AS

BEGIN

SELECT * FROM S

END

5)执行jmxs存储过程,查看计算机系学生的情况。

执行语句:

EXEC mxs

结果描述:

SP_HELPTEXT mxs

 

6)删除jmxs存储过程。

删除语句:

DROP PROCEDURE mxs

2、触发器的创建、执行和删除。

1)在S_C数据库中建立一个名为insert_xhINSERT触发器,存储在SC表中。该触发器的作用是: 当用户向SC表中插入记录时,如果插入了在S表中没有的学生学号sno,则提示用户不能插入记录, 否则提示记录插入成功。

insert_xh的创建语句:

CREATE TRIGGER insert_xh ON SC

AFTER INSERT

AS

BEGIN

IF(SELECT COUNT(*) FROM inserted JOIN S ON S.sno = inserted.sno) = 0

BEGIN

ROLLBACK TRAN

PRINT 用户不能插入记录

END

ELSE

PRINT 记录插入成功

END

2)为S_C数据库中的S表创建一个名为dele_stuDELETE触发器,该触发器的作用是禁止删除S 表中的记录。

dele_stu的创建语句:

CREATE TRIGGER dele_stu ON S

AFTER DELETE

AS

BEGIN

ROLLBACK TRAN

PRINT 禁止删除

END

3)为S_C数据库中的SC表创建一个名为update_gradeUPDATE触发器,该触发器的作用是禁止更SC表中的grade字段的内容。

update_grade的定义语句:

CREATE TRIGGER update_grade ON SC

FOR INSERT, UPDATE

AS

DECLARE @grade1 INT;

DECLARE @grade2 INT;

SELECT @grade1 = inserted.grade FROM inserted

SELECT @grade2 = deleted.grade FROM deleted

BEGIN

IF(@grade1 != @grade2)

BEGIN

PRINT 不能修改分数

ROLLBACK TRAN

END

END

4)删除update_grade触发器。

删除update_grade触发器的命令:

DROP TRIGGER update_grade

四、实验总结

最最基础的

存储过程与触发器的应用

标签:style   io   color   ar   使用   sp   for   数据   on   

原文地址:http://blog.csdn.net/u011686226/article/details/41014745

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!