Bonjour
Je souhaiterais mettre à la suite des lignes d'une table le contenu d'une autre mais il m'indique une ora 0001.
Comment contourner le problème.
Merci
Fabien
Bonjour
Je souhaiterais mettre à la suite des lignes d'une table le contenu d'une autre mais il m'indique une ora 0001.
Comment contourner le problème.
Merci
Fabien
avec un curseur et une gestion d'exception... sinon tu ajoutes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part AND NOT EXISTS (<requête pour trouver la ligne dans la table>)
LA commande quer je souhaite utiliser est :
insert into xxxx (select * from yyyy@zzzz.world);
Où dois-je mettre le "AND NOT EXISTS" la dedans ?
Fabien
dans la sous-requête qui sélectionne les lignes à insérer![]()
J'avoue que je ne vois pas où mettre ça. Peux-tu me donner la commande.
N'oublie pas qu'il me faut tout le contenu de la table.
Je rappelle la commande orginale:
insert into recpart (select * from recpart@toto.world);
merci
fabien
Et en faisant un export et un import ensuite car comme les tables on le même nom. Il met une erreur ORA-0001à chaque ligne déjà existante mais est-ce vraiment ? Il remplit la table avec le reste mais je me demande s'il ne se fit pas plutôt à l'index s'il n'existe pas déjà ou bien au contenu réel de la ligne ?
Une explication ?
Merci
Envoyé par fmoriet
tu as peut-être besoin de la commande MERGE si tu veux faire un UPSERT (update/insert)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 insert into xxx (select * from yyyy@zzzz.world t where not exists (select * from xxx where xxx.pk = t.pk));
Parfait.
Merci
Fabien
Partager