触发程序存储式程序,可自动调用时表插入、更新或删除等事件
举个例子,每当我们添加新行或删除一行时,我们可以定义自动触发的触发程序,通过它我们可以确信这些事件的正确发生每种触发器都与表关联
触发程序为特殊程序,非存储程序关键差二分是存储程序需要明文调用而特殊程序(触发程序)在发生事件时自动调用
触发器使用量 :
- 数据甚至在插入或更新前都可验证,并用触发器帮助更新
- 记录日志可用触发程序保存
- 触发器提供检验数据完整性的替代方法
- 触发器还提供替代方式运行定时任务
- SQL查询性能可用触发程序提高,因为它不需要每次执行查询时编译
触发限制:
- 数据库服务器管理量将增加并使用触发器
- 用户无法难解数据库层发生的事,因为他们自动和不可视地被引用
如何创建触发器 :
Create triger触发器名称前
示例:
步进创建表名人
CREATETEBLAL人名(varchar(45)NULL,职业varchar(35)NULL,日期工作日期,工时varchar(10));
步骤2代码触发创建
mysql>DELIMITER// mysql
步骤3:插入值表记名
输入人值
Raju,Engineer,2022-03,10)
此处,我们正在修改定界符为 //,以便它不会因默认终止字符(;)而终止由触发程序帮助 条件像输入负
值可用0等值或任何其他值替换后检验并操作
示例2
步进先创建表名测试触发程序如下:
CREATE表测试触发器
步骤2:创建表名人
CREATETEBL雇员
步骤3:创建触发器
mysql>DELIMITER// mysql
上任员工前
贝金
IF.Sexe=M后INSTERT测试触发valUES(“添加男性雇员”);ELSERT输入测试触发valUES(“添加女性雇员”));ENDIF;END///
步骤4.插入值表记名
INSTER进员工评价
Rahul,Astroi,M,Raju,Engineer
以上触发程序增加值基于用户插入雇员表性别列的内容执行SELECT*测试触发器时,它会显示消息列和对应值视雇员表INSTERT操作而定
要检查数据库中可用并关联表的所有触发程序,以下语句有效
mysqlsssatriGGERS
调出特殊触发器时,下列语句有效:
mysql>DROPTRIGER
以类似方式,触发条件如前加注、后加注、前减量和后减量可创建并使用