|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 108 ![]() |
Salut à tous,
Quelqu’un a t-il un exemple d’insert et update avec curseur ? (un peu comme un MERGE INTO). Mon encadreur ne veut pas que j’utilise le « MERGE INTO ». Je dois faire un insert des données de la table_1 dans la table_2, mais si les valeurs existe déjà un update en utilisant deux curseurs : un curseur d’insertion et un autre pour le update. Si quelqu’un a un exemple, je suis preneuse. Je n’ai rien trouvé sur le net. Merci d’avance pour vos exemples. Fiona |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Dans un curseur tu peux gérer l'exception DUP_VAL_ON_INDEX pour updater (évidemment ça nécessite d'avoir un index unique ou une PK violé) par contre le concept des 2 curseurs je ne vois vraiment pas trop l'intérêt.
Si tu dois vraiment... peut être un curseur d'insertion avec WHERE NOT EXISTS et un d'update avec WHERE EXISTS. Par contre Fiona, il va vraiment falloir changer d'encadreur parce qu'il me semble que ce n'est pas la 1ère fois qu'il refuse les bonnes solutions... en attendant souviens toi bien de MERGE plus que des bidouilles à base de curseurs... |
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 108 ![]() |
Salut skuatamad,
j'ai un problem avec mon code. Peux tu stp me dire ou ca coince? PL/SQL: ORA-00907: missing right parenthesis Code :
Fiona |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : août 2008 Messages : 1 271 ![]() |
Salut Fiona,
Pas facile de t'aider sans vraiment comprendre ce que tu veut faire. Pourquoi as tu un curseur d'insertion différent de ton curseur d'update, cf la jointure sur table_2 ? N'utilises pas select *, la procédure deviendrait invalide après ajout d'une colonne. Sinon dans la procédure tu ne faisais pas appel au curseur d'update. Et concernant l'update tu dois pointer la ligne à mettre à jour en utilisant where .... Ci dessous ton code un peu remanié : Code :
|
||
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 108 ![]() |
Salut skuatamad,
puis-je t'envoyer mon code en MP? Car vu c'est plein de truc de la Sté, j'ai peur de plublier sur le net. J'ai essayer d'apporter un changement dans le code avec tes conseils. Mais j'ai toujours les faute suivante: PL/SQL: ORA-00907: missing right parenthesis Merci Fiona |
|
|
00
|
|
|
#6 |
|
Membre à l'essai
![]() Inscription : juillet 2008 Messages : 108 ![]() |
Salut,
j'ai enlevé la paranthèse autour du SET. Et je n'ai plu de faute. Bye Fiona |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com