MySQL触发器

触发程序存储式程序,可自动调用时表插入、更新或删除等事件

举个例子,每当我们添加新行或删除一行时,我们可以定义自动触发的触发程序,通过它我们可以确信这些事件的正确发生每种触发器都与表关联

触发程序为特殊程序,非存储程序关键差二分是存储程序需要明文调用而特殊程序(触发程序)在发生事件时自动调用

触发器使用量 :

  • 数据甚至在插入或更新前都可验证,并用触发器帮助更新
  • 记录日志可用触发程序保存
  • 触发器提供检验数据完整性的替代方法
  • 触发器还提供替代方式运行定时任务
  • 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

以类似方式,触发条件如前加注、后加注、前减量和后减量可创建并使用

留答题