我有一个Oracle错误(ORA-01008):事情是这个错误第一次出现,没有修改table/Schema(但是有数据库升级)。 我试过立即执行,但我仍然得到相同的错误。ORA-01008:数据库升级后并非所有变量绑定
SET serveroutput ON;
set define off;
--alter session set "_subquery_pruning_enabled"=false;
DECLARE
z_value NUMBER := -1;
CURSOR listedocument
IS
select to_number(2310458) as coco from dual;
BEGIN
FOR l IN listedocument
LOOP
BEGIN
dbms_output.put_line (' l.coco= ' || l.coco);
SELECT oa.myvalue
INTO z_value
FROM schema2.table2 oa
INNER JOIN
schema1.table1 ed
ON ed.coco = oa.coco
WHERE ed.coco = l.coco
;
EXCEPTION
WHEN NO_DATA_FOUND THEN
dbms_output.put_line ('NO_DATA_FOUND');
WHEN OTHERS THEN
dbms_output.put_line ('Exception de traitement ' || SQLERRM);
END;
END LOOP;
END;
这个问题似乎在这里WHERE ed.coco = l.coco
我得到的错误:异常去TRAITEMENT ORA-01008:未绑定 [==>后修改的消息]
我所有变量得到的错误:ORA-01008:并非所有的变量绑定
当我使用alter session set "_subquery_pruning_enabled"=false;
一切wor ks,但表现糟糕。
我正在使用Oracle数据库11g(11.2.0.4.0)。
解决我假设你在谈论“ORA-01008:未绑定的所有变量”。请不要通过将法语翻译成英语来发明新的错误信息 - 将ORA-01008放入您最喜爱的搜索引擎中将返回正确的英文字词。另外,我会对你有什么想法使用非文件化的'_subquery_pruning_enabled'参数感兴趣 - 这是从Metalink中获取的吗? –
我不能看到在这种情况下使用任何绑定变量。 –
你可以尝试禁用动态采样并尝试。我认为这可能会有所帮助。 alter session set optimizer_dynamic_sampling = 0 –