2013/8/19 10:50:46
数据库技术:Delete触发器的创建执行
数据库技术:Delete触发器的创建执行
几年前,数据库技术老师上课的PPT教程,PPT名称为“触发器的创建——Delete触发器的创建”。现在摘部分下来看看,现在我是已经把这些都忘记了的,懂技术的看下有什么问题没?
1.创建触发器的Transact-SQL命令
语法格式:
CREATE TRIGGER 触发器名称 ON {表 | 视图}
[ WITH ENCRYPTION ]
{FOR | AFTER | INSTEAD OF}
{[DELETE][,][INSERT][,][UPDATE]}
AS
Transact-SQL 语句[...n] /*触发器被激活时将要执行的动作,由一条或若干条Transact-SQL语句*/
注意:CREATE TRIGGER 必须是批处理中的第一条语句。
语法格式:
CREATE TRIGGER 触发器名称 ON {表 | 视图}
[ WITH ENCRYPTION ]
{FOR | AFTER | INSTEAD OF}
{[DELETE][,][INSERT][,][UPDATE]}
AS
Transact-SQL 语句[...n] /*触发器被激活时将要执行的动作,由一条或若干条Transact-SQL语句*/
注意:CREATE TRIGGER 必须是批处理中的第一条语句。
2 在企业管理器中创建触发器的步骤:
(1)启动企业管理器,依次展开数据库、student、表节点。
(2)展开需要建立触发器的表(如班级), 右键单击触发器,选择“新建触发器”命令。
(3)然后打开“创建触发器模板”,在模板中输入触发器创建文本。
(4)单击工具栏上的“执行”按钮,完成触发器的创建。
(1)启动企业管理器,依次展开数据库、student、表节点。
(2)展开需要建立触发器的表(如班级), 右键单击触发器,选择“新建触发器”命令。
(3)然后打开“创建触发器模板”,在模板中输入触发器创建文本。
(4)单击工具栏上的“执行”按钮,完成触发器的创建。
【课堂练习】
在student数据库中建立一个名为delete_zhye的DELETE触发器,存储在“专业”表中。当用户删除“专业”表中的记录时,如果“班级”表引用了此记录的专业代码,则提示用户:“该专业表正被班级表使用,不能删除此条记录!”,否则提示:“记录已成功删除!”。
其输入代码如下:
CREATE TRIGGER delete_zhye ON 专业
FOR DELETE
AS
IF(SELECT COUNT(*) FROM 班级 INNER JOIN DELETED
ON 班级.专业代码=DELETED.专业代码)>0
BEGIN
PRINT (‘该专业表正被班级表使用,不能删除此条记录!')
ROLLBACK TRANSACTION
END
ELSE
PRINT ‘记录已成功删除!'
GO
【课后思考练习题】
1、在student数据库中,为“学生”表建立一个名为del_xs的DELETE触发器,其作用是当删除“学生”表中的几条记录时,就给予提示“你已成功删除几条记录!”的信息。
2、在student数据库中建立一个名为insert_xibu的INSERT触发器,存储在“专业”表中。当用户向“专业”表中插入记录时,如果插入了在“系部”表中没有的系部代码,则提示用户不能插入记录,否则提示记录插入成功。