Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
915 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL / Oracle] Tester un cas de concurrence.

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL / Oracle] Tester un cas de concurrence.

n°449109
jotb
Mon nom est Capitaine.
Posté le 04-07-2003 à 21:50:08  profilanswer
 

Je suis en train de concevoir une petite base de données de gestion de stock. J'aimerais bien voir les effets de la conccurence.
En gos, j'ai une table stock, qui contient des produits en quantité donnée. J'ai une table commande qui représente les commandes effectuées pas les utilisateurs pour réapprovisonner le stock. Lorsqu'une commande est effectuée, j'ai un trigger qui va mettre à jour le champ "quantité commandée" de l'article en question dans la table stock.  
J'aimerais savoir ce qui va se passer si par malchance deux commandes sur un même produit sont passées en même temps. Comment réaliser et visualiser cette opération ?  :??:

mood
Publicité
Posté le 04-07-2003 à 21:50:08  profilanswer
 

n°450411
MagicBuzz
Posté le 07-07-2003 à 17:10:34  profilanswer
 

L'éxécution d'un trigger est inaltérable et unitaire.
 
En résumé, depuis du moment où tu commences à effectuer la modification, jusqu'au moment où elle est terminée, il ne peux se produire aucune autre action sur l'ensemble des lignes traîtées par le même trigger.
 
Il en résulte le faite qu'un trigger ne peux s'éxécuter deux fois simultanément.
 
C'est d'ailleurs pour cette raison que les triggers sont extrêment déconseillés dans les grosses bases de données multi-utilisateurs, car tu as très vite fait de ralentir tout le monde.

n°450438
jotb
Mon nom est Capitaine.
Posté le 07-07-2003 à 17:27:38  profilanswer
 

MagicBuzz a écrit :

L'éxécution d'un trigger est inaltérable et unitaire.
 
En résumé, depuis du moment où tu commences à effectuer la modification, jusqu'au moment où elle est terminée, il ne peux se produire aucune autre action sur l'ensemble des lignes traîtées par le même trigger.
 
Il en résulte le faite qu'un trigger ne peux s'éxécuter deux fois simultanément.
 
C'est d'ailleurs pour cette raison que les triggers sont extrêment déconseillés dans les grosses bases de données multi-utilisateurs, car tu as très vite fait de ralentir tout le monde.


 
Oui merci c'est ce que je viens de découvrir.  ;)  
L'enregistrement modifié est bloqué jusqu'au commit ou rollback.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL / Oracle] Tester un cas de concurrence.

 

Sujets relatifs
[Oracle] decode marche pas (tour de magie)urgent PL/SQL illisible
Pour les pros d'Oracle et du DUMP[VBA] Excel : comment tester la "visibilité" d'une cellule ?
[oracle]code SQL dans une requete ....[pu d'erreur inside !!!]
[KornShell] Tester si une variable est vide!Conversion de scripts SQL SERVER -> My SQL
[SQL] tester si une suppression est possible 
Plus de sujets relatifs à : [SQL / Oracle] Tester un cas de concurrence.


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR