MySql在触发器中调用存储过程_MySQL
程序员文章站
2022-04-15 21:18:56
...
不太写触发器,今天遇到个语法问题,在朋友(DBA)的帮助下解决了,记录下来。
需求:在CLASS_PROPERTY_REL删除记录时,调用存储过程gen_ci_property_value
问题反馈:
SQL 错误 [1064] [42000]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DELIMITERCREATE TRIGGER cpr_del AFTER DELETE ON CLASS_PROPERTY_REL FOR EACH ROW' at line 1解决方案:
DELIMITER $$CREATE TRIGGER cpr_del AFTER DELETE ON CLASS_PROPERTY_REL FOR EACH ROW BEGIN CALL gen_ci_property_value();END$$DELIMITER ;解释:
因为创建proc的语句是个整体,你不希望执行一行就结束了,所以需要临时改变一下定界符,结束后,‘DELIMITER ;’是把定界符再改回默认
推荐阅读
-
php调用MySQL存储过程的方法集合(推荐)
-
web.py在SAE中的Session问题解决方法(使用mysql存储)
-
python连接mysql调用存储过程示例
-
mysql存储过程之创建(CREATE PROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法
-
mysql存储过程之引发存储过程中的错误条件(SIGNAL和RESIGNAL语句)实例分析
-
MYSQL存储过程中事务和DECLARE EXIT/CONTINUE HANDLER的使用
-
php调用mysql存储过程实例分析
-
MySql存储过程中的基本函数和需要用到的运算符
-
MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
-
php调用mysql存储过程