Création d'une table avec curseur
Bonjour,
Je voudrais savoir ce qui ne va pas dans le code ci-dessous:
Code:
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:
1 2
|
PL/SQL: ORA-00942: table or view does not exist |
Merci,