Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> Strange behaviour i.e SQL%FOUND
Anyone encounter this case.
i know i can help them rewrite this to a different approach but just curious as to what the reasoning could be for this
This is a case of 8i to 9 upgrade .
Application code has
set timing on
set time on
set echo on
set serveroutput on
DECLARE
v_test1 VARCHAR2(1) := 'A';
BEGIN
--CREATE A RECORD
insert into test values ('A');
commit;
DELETE FROM test WHERE test1 = v_test1;
commit; --THIS IS THE COMMIT THAT PASSES SQL%FOUND IN ORACLE 8i BUT FAILS IN 9i & 10g
IF SQL%FOUND THEN -- delete succeeded/passed
DBMS_OUTPUT.PUT_LINE('SUCCESS 1');
ELSE -- delete failed
DBMS_OUTPUT.PUT_LINE('FAILURE 1');
END IF;
END;
The results of this code in each DB version is:
8i - SQL%FOUND succeeds (8.1.7.4)
9i - SQL%FOUND fails
10g - SQL%FOUND fails
-- http://www.freelists.org/webpage/oracle-lReceived on Thu Jun 21 2007 - 11:51:24 CDT
![]() |
![]() |