Bonjour,

J'ai un bloc PL/SQL qui fonctionne sous Oracle 9.2.0.5 mais pas en 10.2.0.4

Je ne comprends pas pourquoi...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
DECLARE
CURSOR c IS SELECT OBJECT_NAME, OBJECT_TYPE FROM USER_OBJECTS WHERE STATUS='INVALID';
BEGIN
FOR rec IN c
LOOP
IF rec.object_type = 'PROCEDURE' THEN
EXECUTE IMMEDIATE 'ALTER PROCEDURE ' || rec.object_name || ' COMPILE';
ELSIF rec.object_type = 'FUNCTION' THEN
EXECUTE IMMEDIATE 'ALTER FUNCTION ' || rec.object_name || ' COMPILE';
ELSIF rec.object_type = 'PACKAGE' THEN
EXECUTE IMMEDIATE 'ALTER PACKAGE ' || rec.object_name || ' COMPILE';
ELSIF rec.object_type = 'TRIGGER' THEN
EXECUTE IMMEDIATE 'ALTER TRIGGER ' || rec.object_name || ' COMPILE';
END IF;
END LOOP;
END;
/