配色: 字号:
【任务5-11】创建Delete触发器
2022-11-06 | 阅:  转:  |  分享 
  
“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设

1



【任务 5-11】创建 Delete 触发器

【任务描述】

创建 1 个命名为“ booktype_delete”的触发器,该触发器实现以下功能:限制用户删除

“图书类型”数据表中的记录,当用户删除记录时抛出错误提示信息,禁止删除记录。

【任务实施】

( 1)在命令行中创建触发器 booktype_delete

在命令行提示符后输入以下各语句:

Delimiter $$

Create Trigger booktype_delete Before Delete

On 图书类型 For Each Row

Begin

Delete From 图书类型 ;

End $$

Delimiter ;

( 2)在 Navicat 图形界面查看触发器

在 Navicat 中打开数据表“图书类型”的【表设计器】,切换到【触发器】选项卡,该数

据表已创建触发器及定义如图 5-39 所示。

“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设

2





图 5-39 查看“图书类型”数据表已创建的触发器及定义

( 3)应用触发器 booktype_delete

在命令行提示符后输入以下删除记录的语句,从“图书类型”数据表中删除一条记录,

测试 Delete 触发器“ booktype_delete”是否会被触发。

Delete From 图书类型 Where 图书类型代号 = "Z" ;

按回车键后,可以发现该 SQL 语句并不能成功执行,会出现如下所示的提示信息:

ERROR 1442 (HY000): Can''t update table ''图书类型 '' in stored function/trigger because it is

already used by statement which invoked this stored function/trigger.

在 Navicat 图形界面打开数据表“图书类型”的记录编辑窗口,然后删除一条记录,首

先会弹出如图 5-40 所示的【确认删除】对话框,在该对话框中单击【删除一条记录】按

钮,接着会出现如图 5-41 所示的错误提示信息对话框。



图 5-40 【确认删除】对话框

“数据库类课程资源建设( MySQL 数据库应用与设计)”教学方向资源建设

3





图 5-41 删除记录时出现的错误信息提示对话框



献花(0)
+1
(本文系籽油荃面原创)