在 INFORMIX 中打印调试语句

Print Debug statement in INFORMIX

我正在 INFORMIX 数据库上使用 SQL 存储过程。
当我使用

生成 DEBUG 文件时
SET DEBUG FILE TO 

我需要打印调试语句。
例如:打印 Temporary table.

中的行数

其中一种方法可能是

RAISERROR('your message here!!!',0,1) WITH NOWAIT

但我不确定如何使用此 RAISE ERROR 方法打印 table 的计数。

您可以分两步完成:

DEFINE temp_count INTEGER;

SELECT COUNT(*) INTO temp_count FROM TempTable;

TRACE 'Count of rows in TempTable is ', temp_count;

唯一要检查的是您是否可以像在 TRACE 语句中那样分段构建消息。如果没有,那么您可以在将字符串提供给 TRACE 之前构建该字符串:

DEFINE trace_message VARCHAR(255);
LET trace_message = 'Count of rows in TempTable = ' || temp_count;
TRACE trace_message;

sqlca.sqlerrd[3] 包含最后一条语句中处理的行数。

SET DEBUG FILE TO '/tmp/foo.trace';
    TRACE OFF;
    TRACE ON;

使用以上 3 条语句来打印调试您的存储过程。