Procédure stockée : Temps de latence
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 :
Code:
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, ...);
... |
(La procèdure complète comporte 3 UPDATE OR INSERT avec une dizaine de champs mais rien de compliqué en soit)
Merci d'avance,