我当前调试存储过程的过程非常简单.我创建了一个名为"debug"的表,我在运行时从存储过程中插入变量值.这允许我在脚本中的给定点看到任何变量的值,但有没有更好的方法来调试MySQL存储过程?
我喜欢触发器有一个原因 - 他们只是工作.我讨厌触发器有一个原因 - 当它们不工作时,忘记尝试调试.哦,甜蜜的沮丧.
基本上,我想看到运行的更新,删除,插入等查询.我希望在某个地方,在我的终端或日志中查看该查询,确切地知道MySQL执行它的方式和时间,以及可能的任何相应的输出/错误.思考/黑客?
我正在尝试使用一些连接来调试更新查询,而不是.我的查询要复杂得多,但为简洁起见,这是一个例子.
DELIMITER |
CREATE TRIGGER ireallyhateyourightnow AFTER UPDATE ON watch_this_table
FOR EACH ROW BEGIN
IF (OLD.my_value != NEW.my_value) THEN
update
my_table
set
my_column = NEW.my_value;
END IF;
END|
DELIMITER ;
Run Code Online (Sandbox Code Playgroud)
以下是一些可能有助于影响建议或答案的其他背景信息.再一次,我对语义/语法不太感兴趣,并且更感兴趣的是看到MySQL运行查询,但无论如何,我现在对任何事情持开放态度.
我尝试编写一个MySQL strored过程,并希望将一些输出发送到控制台或stdout.Oracle使用DBMS_OUTPUT.PUTLINE来debugginf.
MySQL存储过程中是否存在等效的DBMS_OUTPUT?