带有替代变量的无效数字

Invalid Number with Substitution Variable

我在尝试让输入被接受为数字变量时遇到问题。这是我的代码:

ACCEPT clientidnum NUMBER PROMPT 'Enter Client Number(s): '

SELECT * FROM PROD.GS_EXTERNAL_CONTACT@prd1.WORLD 
WHERE GEC_GS_EXT_CONTACT_ID IN (SELECT GEC_GS_EXT_CONTACT_ID
                      FROM PROD.CLIENT@prd1.WORLD a
                      WHERE CT_CLIENT_ID = to_number(trim(replace('&clientidnum',CHR(13)))) AND
                a.GEC_GS_EXT_CONTACT_ID NOT IN (SELECT GEC_GS_EXT_CONTACT_ID 
                                FROM PROD.GS_EXTERNAL_CONTACT b
                                WHERE a.GEC_GS_EXT_CONTACT_ID= b.GEC_GS_EXT_CONTACT_ID));

当我在 SQL 中 运行 添加时,它返回以下错误:

ERROR at line 4:
ORA-01722: invalid number

感谢您的协助!很抱歉,如果这是一个简单的问题,但我习惯于 SQL 服务器并被抛到 Oracle 上以使某些事情正常工作。

想通了。 SET DEFINE 在我的 glogin.sql 脚本中设置为 OFF。我将 SET DEFINE ON 添加到我是 运行 的脚本中并且它有效。