初识MySQL(8)使用触发器
1.触发器的作用 当一个SQL语句被执行之后,我们可能会需要一些事情自动发生: (1)每当增加一个顾客到数据库表的时候,都检查其电话号码格式是否正确; (2)每当订购一个产品时,都从库存数量中减去订购的数量; (3)无论何时删除一行,都在某个存档表中保留一个副本。 … 所有例子的共同之处是他们都需要在某个表发生变动的时候自动处理一些事情,这就是触发器。 触发器支持DELETE,INSERT,UPDATE语句,其他语句不支持触发器。 2.创建触发器 在我们创建一个触发器的时候,我们需要给出一下4个信息: (1)唯一的触发器名 (2)触发器关联的表 (3)触发器应该响应的活动(DELETE,UPDATE,INSERT) (4)触发器何时执行(处理前或处理后) 创建触发器的一个例子: CREATE TRIGGER newproduct AFTER INSERT ON products FOR EACH ROW SELECT 'Product added' ; 以上创建触发器的例子,表明了这是一个针对表products的触发器,并且响应的活动是INSERT操作,并在操作处理之后启动触发器,而FOR EACH ROW SELECT 'Product added’指的就是在每一行的插入操作之后文本’Product added’均会被显示。 注意,只有表支持触发器,视图并不支持触发器! 3