|
| Iniciado por Thierry DANIEL, 26,feb. 2019 17:55 - 4 respuestas |
| |
| | | |
|
| |
Miembro registrado 3 mensajes |
|
| Publicado el 26,febrero 2019 - 17:55 |
Bonjour,
Sur Windev 23 et Oracle 11g.
Nous avons une table de l'analyse avec un identifiant automatique (exemple PTEST) la connexion est en natif sur une base oracle. cela fonctionne correctement, le Hajoute(PTEST) insert bien les données dans Oracle sur la table PTEST. MAIS, d'un coup, la valeur de l'id auto est revenue à 1 alors qu'il y avait 7800 enregistrement dans la base. (cela suite à un plantage serveur)
Du coup, j'aimerais savoir comment Windev détermine la valeur de l'id auto lors d'un Hajoute. Va-t-il lire la dernière ligne enregistrée dans la table (via rowid) Prend-il la valeur max de la clef dans la table ? Il y a-t-il une table dans oracle ou un enregistrement contenant la valeur du dernier id pour PTEST ?
Pour info, nous avons résolu le problème en ajoutant via pl-sql un enregistrement avec un id de 10 000 Suite à cela, le Hajoute a généré une id auto de 7801... (reprenant l'incrémentation normal du compteur)
Autre info : nous n'utilisons pas sur cette table de séquence, ni trigger, la gestion de l'id auto est fait par Windev.
Merci de vos réponses |
| |
| |
| | | |
|
| | |
| |
| Publicado el 27,febrero 2019 - 16:27 |
Thierry DANIEL avait prétendu :
Bonjour,
Sur Windev 23 et Oracle 11g.
Nous avons une table de l'analyse avec un identifiant automatique (exemple PTEST) la connexion est en natif sur une base oracle. cela fonctionne correctement, le Hajoute(PTEST) insert bien les données dans Oracle sur la table PTEST. MAIS, d'un coup, la valeur de l'id auto est revenue à 1 alors qu'il y avait 7800 enregistrement dans la base. (cela suite à un plantage serveur)
Du coup, j'aimerais savoir comment Windev détermine la valeur de l'id auto lors d'un Hajoute. Va-t-il lire la dernière ligne enregistrée dans la table (via rowid) Prend-il la valeur max de la clef dans la table ? Il y a-t-il une table dans oracle ou un enregistrement contenant la valeur du dernier id pour PTEST ?
Pour info, nous avons résolu le problème en ajoutant via pl-sql un enregistrement avec un id de 10 000 Suite à cela, le Hajoute a généré une id auto de 7801... (reprenant l'incrémentation normal du compteur)
Autre info : nous n'utilisons pas sur cette table de séquence, ni trigger, la gestion de l'id auto est fait par Windev.
Merci de vos réponses
bonjour,
dans le cas des id auto c'est le moteur de la base de données qui détermine le prochain id auto ou alors je n'ai pas compris votre demande
-- Cordialement JeAn-PhI |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3 mensajes |
|
| Publicado el 27,febrero 2019 - 17:15 |
JeAn-PhI a écrit :
bonjour,
dans le cas des id auto c'est le moteur de la base de données qui détermine le prochain id auto ou alors je n'ai pas compris votre demande
-- Cordialement JeAn-PhI
Non, Oracle ne gère pas les id auto (d'où l'utilisation fréquentes de séquences + trigger) A priori c'est dans le moteur Windev
Cordialement ThierryMensaje modificado, 27,febrero 2019 - 17:18 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 281 mensajes |
|
| Publicado el 27,febrero 2019 - 17:42 |
Bonsoir,
Je ne vois pas ou Windev peut avoir cette information, vu qu'Oracle lui même ne l'a pas vu que comme tu le dis les rubriques clé primaire ne sont pas gérées automatiquement, il faut une séquence + trigger...
Pourquoi ne pas utiliser une séquence pour cette table ? |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 3 mensajes |
|
| Publicado el 01,marzo 2019 - 10:04 |
Je ne vois pas ou Windev peut avoir cette information, vu qu'Oracle lui même ne l'a pas vu que comme tu le dis les rubriques clé primaire ne sont pas gérées automatiquement, il faut une séquence + trigger...
Pourquoi ne pas utiliser une séquence pour cette table ?
Effectivement, c'est une reprise de code existant (sans doute fait à partir d'une LST de Windev) De mon coté, je préfère utiliser aussi une séquence + trigger before insert pour gérer les id auto dans oracle. Mais Windev propose aussi cette solution, et j'aimerais comprendre comment cela fonctionne. |
| |
| |
| | | |
|
| | | | |
| | |
|