|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 4 ![]() |
Bonjour,
J'ai besoin de mettre à jour une table Oracle (à partir d'autres tables oracle) qui contient une colonne alimentée par une séquence Oracle (nomseq.nextval). Sunopsis génère un ordre du style: insert /*+ APPEND */ into [ma_table] (champs ...,) select C1_.., C2_.., nomseq.NEXTVAL, ... 'I' IND_UPDATE from ... where (1=1) And [jointure] minus select ..., ..., valeur_seq, ..., 'I' IND_UPDATE from [table cible] Or, Oracle n'autorise pas à utiliser un nextval avec un minus. J'ai essayé avec les modules de connaissance: "IKM Oracle Incremental Update (MERGE)", et "KIM Oracle Incremental Update", il y a toujours la même requête avec le minus dans le step "Insert flow into I$ table". Quelqu'un aurait-il une idée ? Merci Sabine |
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() |
Bonjour Sabine,
Je viens d'avoir le même problème que toi et un collègue m'a donné une solution: il faut mettre le calcul du champ où tu utilises ta séquence sur la cible et non sur l'espace de travail (en tout cas, c'est que j'avais fait moi...). En espérant que ça te serve... |
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 4 ![]() |
J'ai testé la solution que tu m'a donné. C'est nettement mieux puisqu'il n'y a plus d'erreur Oracle, le .nextval n'étant plus dans la requête de select mais de merge.
Par contre la mise à jour de la table cible n'est pas bonne: le champ qui contient la valeur rendue par le .nextval n'est pas valorisé, il reste à null alors que l'ordre Oracle généré me semble correct. Je n'ai plus le temps de chercher pourquoi aujourd'hui, je continuerai une autre fois. En tout cas merci pour ton aide. Sabine |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : novembre 2007 Messages : 4 ![]() |
Ca fonctionne.
J'ai dû faire quelques petits réglages complémentaires de contrôle de clé mais la solution est la bonne. Merci Sabine |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com