Y a pas que Sarkozy qui me laisse sans voix. Il y a aussi Microsoft Sql Server 2005 et sa gestion des verrous si particulière.

Sous Oracle, lorsque vous exécutez un ordre INSERTen mode transactionnel, vous posez un verrou sur ligne ce qui n'empêche nullement à quiconque d'exécuter un ordre SELECT sur table.

Sous Sql Server 2005, l'ordre INSERT ne vous permet d'utiliser un ordre SELECT que si vous employiez une clause WHERE ou bien si vous utilisez la clause WITH (NOLOCK) ou la clause WITH(READ UNCOMMITTED), le mode DIRTY qui vous permet d'accéder à l'environnement transactionnel des autres utilisateurs.

  • De la doc, hélas assez ancienne, sur ce sujet difficile d'accès d'Alexander Chigrik !
  • un très bon article sur ce sujet chez Christian Robert, grand spécialiste du produit

NB Je ne souviens pas de ce problème sous SQL Server 2000 !