mysql触发器——DELIMITER 命令

来源:互联网 发布:零食数据 编辑:程序博客网 时间:2024/05/22 13:57

mysq触发器之DELIMITER 命令

在之前讲到的创建触发器语法一文中,触发器程序体(trigger_stmt)中,程序可以是一句SQL语句,也可以是用 BEGIN 和 END 包含的多条语句。

其格式为:

BEGIN[statement_list]END

其中,statement_list 代表一个或多个语句的列表,列表内的每条语句都必须用分号(;)来结尾。

而在MySQL中,分号是语句结束的标识符,遇到分号表示该段语句已经结束,MySQL可以开始执行了。因此,解释器遇到statement_list 中的分号后就开始执行,这时候就会报出错误,因为没有找到和 BEGIN 匹配的 END。

这时就会用到 DELIMITER 命令(DELIMITER 是定界符,分隔符的意思),它是一条命令,不需要语句结束标识,语法为:
DELIMITER new_delemiter

其中new_delemiter 可以设为1个或多个长度的符号,默认的是分号(;),我们可以把它修改为其他符号,如 |

语法为: DELIMITER |

在这之后的语句,以分号结束,解释器不会有什么反应,只有遇到了 |,才认为是语句结束。注意,使用完之后,我们还应该记得把它给修改回来。

语法为: DELIMITER ;

原创粉丝点击