Bonjour,
Je rencontre un problème dans un bloc PL/SQL dans lequel je réalise un TRUNCATE de plusieurs tables. J'ai un curseur qui contient le nom de mes tables et je fais une boucle for pour le parcourir et tronquer toutes les tables contenues dans mon curseur.
Mais je rencontre à chaque fois cette erreur :
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 DECLARE CURSOR c IS SELECT owner, table_name FROM dba_tables WHERE TABLE_NAME IN ('TOTO','TATA', 'TITI') AND owner IN ('BCDM_CH','BCDM_DMT'); BEGIN FOR rec in c LOOP EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || rec.owner || '.' || rec.table_name || ' CASCADE CONSTRAINTS';/ END LOOP; EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Une erreur est survenue : ' || SQLCODE); END; /
Il me tronque bien les deux première tables... Je ne comprends pas à quoi correspond cette erreur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Une erreur est survenue : -3291 ORA-03291: Invalid truncate option - missing STORAGE keyword
Partager