在 TRACE 语句中使用 ON 、OFF 或 PROCEDURE

如果定义了一个 SPL 变量命名为 onoffprocedure,并且试图把它用在 TRACE 语句中,就不能跟踪得到变量的值。而是执行了 TRACE ON 、TRACE OFF 或 TRACE PROCEDURE 语句。可以通过把变量标记在一个更复杂的表达式中来得到变量的值。

下面的例子给出了使用算术或字符串表达式计算变量产生歧义的语法和变通方法:
DEFINE on, off, procedure INT;
        
        TRACE on;                     --ambiguous
        TRACE 0+ on;  --ok
        TRACE off;                    --ambiguous
        TRACE ''||off;--ok
        
        TRACE procedure;  --ambiguous
        TRACE 0+procedure;--ok