DB2/SUN 8.1.6
I have a PROCEDURE that worked until i modified it by adding a FUNCTION
call in some of the queries. Then i started to get:
SQL0901N The SQL statement failed because of a non-severe system
error.
Subsequent SQL statements can be processed. (Reason
"sqlno_crule_save_plans [100]:rc( 0) ".)
SQLSTATE=58004
I was able to get this down to a small example:
CREATE FUNCTION A() RETURNS CHAR(1) BEGIN ATOMIC RETURN ''; END
DECLARE GLOBAL TEMPORARY TABLE A(A CHAR(1))
SELECT \
(SELECT 'A' FROM SESSION.A WHERE A() = '') \
FROM \
SESSION.A A1, \
SESSION.A A2 \
WHERE \
NOT EXISTS \
( \
SELECT \
* \
FROM \
SESSION.A A3 \
WHERE \
A() = '' \
AND A3.A = A1.A \
AND A3.A = A2.A \
)
DROP TABLE SESSION.A
DROP FUNCTION A
If i change anything, such as have the FUNCTION not use a block, or
change the WHERE clause it will work. Any comments?
B.