Oracle和TOAD(和我)不同意要绑定的变量数量

时间:2012-09-07 19:55:03

标签: oracle variables parameters toad

在运行时,我得到“ ORA-01008 - 并非所有变量绑定”与在TOAD中运行良好且在TOAD(和I)中只找到一个参数的SQL语句。< / p>

如下所示,查询中只有一个参数。为什么Oracle会认为有多个参数/变量会引发异常?

我无法显示真正的sql,但这里有一个传真(列/表名更改):

SELECT DECODE(POSTWHEELTYPE,'0','NONE','D','NUMERIC','D','RESTRICTED NEEDLE','X','TRANSFER TO WINTER','A','ACCESS CODE') HALTYPE,      
    DECODE(VALIDATIONTYPE,'0','NONE','A','FOXPRO CODE','P','PERSONAL CODE','S','RESTRICTED') JBJTYPE,
    LAZYNUMBER,
    DISPLAYTEXT,
    MINLENGTH || '-' || MAXLENGTH LENGTH,
    NVL(INSTRUCTIONS, '<NONE>') INSTRUCTIONS
FROM
    ABC.CODELAZYS
WHERE
    BQSERVERABCID = :ABCID
    AND VALIDATIONTYPE <> '0'
ORDER BY
    LAZYNUMBER DESC

2 个答案:

答案 0 :(得分:2)

如果Oracle返回此错误代码,我会打赌我的最后一美元中的变量没有受到限制。仅仅因为TOAD为变量提供了一个值并不意味着它已经绑定在其他客户端中。

你的100%肯定你的一个变量确实受到约束吗?你在哪里运行失败的查询?你能告诉我们它是怎么称呼的吗?

答案 1 :(得分:0)

问题是我对变量的约束太迟了;一旦我把它移到了对ExecuteReader()的调用之上,它就可以了。