J'ai une table temporaire globale (GTT) définie dans un script de création utilisant l'option de suppression des rangs lors du commit. Je voulais pouvoir faire en sorte que différents utilisateurs voient leurs propres données dans la GTT et non les données des sessions d'autres personnes. Cela a parfaitement fonctionné dans notre environnement de test.
Mais ensuite, j'ai déployé GTT dans le cadre d'une mise à jour des fonctionnalités de la base de données d'un client. Le client m'a appelé, bouleversé et inquiet, car le GTT ne contenait plus aucune donnée et il ne savait pas pourquoi.
Plus précisément, si quelqu'un l'a fait :
insert into my_GTT (description) values ('Happy happy joy joy')
la base de données répondrait :
1 row inserted.
Cependant, si le même utilisateur final a essayé :
select * from my_GTT
La base de données répondrait :
0 rows returned.
Ce problème se produit sur le site du client, et nous ne pouvons pas le reproduire en interne. Quelle pourrait être la cause de ce comportement ?