鸿蒙传说
我和一个朋友已经想出了如何调用BernardoDamele的sys_valudf,但是这个解决方案并不像我想的那样优雅。以下是我们所做的:由于我们使用的是Windows,所以我们必须使用以下方法编译用于Windows的UDF库罗兰·布曼指示并将它们安装在MySQL服务器上。我们创建了一个调用sys_val的存储过程。我们创建了一个调用存储过程的触发器。存储过程代码:DELIMITER $$
CREATE PROCEDURE udfwrapper_sp(p1 DOUBLE,
p2 DOUBLE,
p3 BIGINT)BEGIN
DECLARE cmd CHAR(255);
DECLARE result CHAR(255);
SET cmd = CONCAT('C:/xampp/php/php.exe -f "C:/xampp/htdocs/phpFile.php" ', p1, ' ', p2, ' ', p3);
SET result = sys_eval(cmd);END$$;触发代码:CREATE TRIGGER udfwrapper_trigger AFTER INSERT ON sometable
FOR EACH ROW
CALL udfwrapper_sp(NEW.Column1, NEW.Column2, NEW.Column3);对于存储过程,我并不感到兴奋,我也不知道它是否会产生额外的开销,但它确实有效。每次向Someetable添加一行时,触发器都会触发。