Bonjour à tous,

Je cherche à faire une requête de suppression multi-tables avec Oracle 10g.

Je voudrais supprimer tous les éléments retournés par la requête suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT * FROM TAB_ARA, TAB_VIR
     WHERE TAB_ARA.ARA_NUM_COMPTE_CLI = TAB_VIR.VIR_NUM_COMPTE_EMET;
j'ai donc naturellement lancé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
DELETE FROM TAB_ARA, TAB_VIR
     WHERE TAB_ARA.ARA_NUM_COMPTE_CLI = TAB_VIR.VIR_NUM_COMPTE_EMET);
mais ca ne marche pas :
DELETE FROM TAB_ARA, TAB_VIR
...............................*
ERROR at line 1:
ORA-00933: SQL command not properly ended
du coup, j'ai essayé de faire une requête imbriquée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
DELETE FROM 
    ( SELECT * FROM TAB_ARA, TAB_VIR
     WHERE TAB_ARA.ARA_NUM_COMPTE_CLI = TAB_VIR.VIR_NUM_COMPTE_EMET);
et ca renvoie :
ORA-01752: cannot delete from view without exactly one key-preserved table
La page suivant explique comment faire :
http://dev.mysql.com/doc/refman/5.0/fr/delete.html
mais c'est pour mysql. J'ai rien trouvé qui marcherait avec Oracle.

Pouvez-vous m'aider ?