Bonjour,

Je voudrais savoir ce qui ne va pas dans le code ci-dessous:

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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
 
 
DECLARE
 
    V_T_EXISTS  NUMBER :=0;
    I  NUMBER:=0;
 
    CURSOR CUR
    IS
        SELECT ...;
BEGIN
 
    SELECT COUNT(*) INTO V_T_EXISTS FROM ALL_TABLES WHERE TABLE_NAME='TEST';
 
    IF V_T_EXISTS = 1 THEN
 
        FOR REC IN CUR LOOP
            I := I + 1;
            BEGIN
                UPDATE TEST
                   SET CH1 = REC.CH1
                 WHERE CH2 = REC.CH2;
            EXCEPTION
                WHEN OTHERS THEN
                    NULL;
            END;
        END LOOP;
    ELSE
 
        EXECUTE IMMEDIATE 'CREATE TABLE TEST AS
                            SELECT ....';
        EXECUTE IMMEDIATE 'CREATE INDEX INDEX_TEST ON TEST (...)';
 
    END IF;
 
    COMMIT;
 
END;
J'ai le message d'erreur suivant:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
PL/SQL: ORA-00942: table or view does not exist
Merci,