如何在 MySQL Workbench 的一个窗格中写出调试消息?

Posted

技术标签:

【中文标题】如何在 MySQL Workbench 的一个窗格中写出调试消息?【英文标题】:How to write out debug messages in one pane of MySQL Workbench? 【发布时间】:2014-10-08 16:41:25 【问题描述】:

我正在将一些 SQL Server 过程迁移到 mysql

在整个 MS-SQL 代码中都有“打印”语句(必要时用于在后端进行调试),但我知道它们必须在 MySQL 中转换为“SELECT 消息”。但是当在 MySQL Workbench(在 Windows 上)中执行时,每个 SELECT 的输出显示在单独的结果集选项卡中,而不是在 SSMS 的消息窗格中输出调试行的“打印”语句。

在 SQL Workbench 中执行时,有什么方法可以让调试输出显示在同一选项卡中?

【问题讨论】:

【参考方案1】:

恐怕这对于标准工具来说根本不可能。但是一种可能的方法是使用一个 UDF(用户定义的函数)打印出一个字符串并使用 DO 命令调用它(这可以防止 SELECT返回结果集)如:

DO SELECT print_string('warning');

我自己没试过。这只是一个尝试的想法。

要开始使用,您可以在这里找到一些关于 UDF 的想法:https://github.com/mysqludf。

【讨论】:

我很想试试你的想法,但我不知道如何(或理解你的意思)创建一个“打印出字符串”的 UDF。我会用什么命令来做到这一点? 我猜您指的是使用不同的语言(如 python/C)来开发 UDF。如果我错了,请纠正我,但我认为这是不可能的,否则现在有人已经开发了这个 UDF 并将其发布到社区,因为似乎对这种动物有很多需求但没有解决方案我已经找到了。 编写 MySQL UDF 涉及编写库(使用任何可以创建可加载库的编程语言,但通常使用 C 或 C++ 完成)。这是在 UDF 中写入输出的一种想法:***.com/questions/8822555/….

以上是关于如何在 MySQL Workbench 的一个窗格中写出调试消息?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL workbench 在哪里创建event?

macOS sierra 的 mysql workbench 6.3.9 上未显示结果网格

SQL Server 到 Mysql 的迁移(使用 Mysql Workbench)。如何在 Workbench 向导的步骤中添加带有手动转义撇号的数据?

是否有在拆分窗口窗格之间切换的热键?

如何在 MySQL Workbench 中进行正向工程而不丢失对象?

如何在 MySQL Workbench 中放大 EER 图?