On pouvait faire des inserts sur la vue via un trigger et c'est le trigger qui était foireux, d'où un INSERT de la valeur 1 qui me renvoyait la valeur 2. Avant d'en arriver à remettre en cause le INSERT... on cherche dans le code de l'application cliente.
L'origine du problème ? Initialement, c'était bien une table. Il y a eu des évolutions et la table est devenu une vue.
Pour éviter de réécrire plein de procédures stockées, le nom de la table/vue avait été conservée. Ce qui soulève un autre inconvénient de cet approche. Une modification du schéma (transformer une table en vue et vice-versa), oblige à réécrire toutes les procédures stockées les référençant, voire les applications si elles accèdent directement à l'entité en question.
Partager