我无法尝试将输入作为数字变量接受。这是我的代码:
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 Plus中运行它时,它会返回以下错误:
ERROR at line 4:
ORA-01722: invalid number
感谢您的帮助!很抱歉,如果这是一个简单的问题,但我已经习惯使用SQL Server,并且被抛到Oracle上以使一些事情正常工作。
答案 0 :(得分:0)
想出来。我的glogin.sql脚本中SET DEFINE
设置为OFF
。我将SET DEFINE ON
添加到我正在运行的脚本中并且可以正常运行。