Bonjour à tous,
j'ai un petit soucis sur ma base Firebird.
J’exécute une procédure stockée depuis mon application. Celle-ci s'exécute normalement.
Si je relance la procédure j'ai un message d'erreur "Violation primary key".
En allant voir dans ma base, la ligne qui devait être créée par la première procédure est absente. Pourtant si je fait une insertion à la main directement dans la table j'ai la même erreur "Violation primary key".
Si j'attend quelques minutes, la ligne apparaît comme si il y avait un temps de latence.
Parfois l'insertion est immédiate, parfois cela prend plus de temps.
Avez vous une idée du problème ?
Voici ma PS :
(La procèdure complète comporte 3 UPDATE OR INSERT avec une dizaine de champs mais rien de compliqué en soit)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT MAX(ID_CLIENT) FROM T_CLIENT INTO :MAX_ID_CLIENT; MAX_ID_CLIENT=MAX_ID_CLIENT + 1; INSERT INTO T_CLIENT (N_TEMP,N_TEMP2, ID_CLIENT, ...) VALUES (:ID, cast(:ID as int), :MAX_ID_CLIENT, ...); ...
Merci d'avance,
Partager