IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MS SQL Server Discussion :

Transaction et traitements parallèles


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Par défaut Transaction et traitements parallèles
    Bonjour,

    J'ai créé une transaction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
     
    CREATE PROCEDURE [dbo].[UpdateNoProforma]
    (
    @num_cde_trans numeric(8)
    ) AS
     
    DECLARE @iProforma numeric(8)
     
    Begin transaction
    EXEC GetNoProforma @num_cde_trans, @iProforma OUTPUT
    IF @iProforma = -1
    BEGIN
    	EXEC GenerateNextProformaNo @iProforma OUTPUT
    	UPDATE COMMANDE_TRANS
    	SET NUM_FACT_PROFORMA = CAST(@iProforma As varchar(8))
    	WHERE NUM_CDE_TRANS=@num_cde_trans
    END
     
    Commit Transaction
    J'aimerais pouvoir testé que cette transaction fonctionne bien, mais mon problème est de savoir comment lancé deux traitements parallèles pour simuler le blocage pour la génération du nouveau numéro de proforma (@iProforma) ainsi que l'update de ma table.
    Est ce que je pourrais mettre un truc du style un timer qui fait tourner ma procédure stockée pendant une ou deux minutes le temps que je lance le second process ??

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de Fabien Celaia
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2002
    Messages
    4 228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 4 228
    Billets dans le blog
    25
    Par défaut
    Lance un BEGIN TRAN, puis l'appel de ta procedure dans un e premiere session.
    Fais la meme chose dans la 2e et tu auras ton effet escompte avec un joli verrous tans qu'un COMMIT ne sera pas lance dans la 1e session.

    Sinon, il exite une commande de type PAUSE : c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WAITFOR DELAY "HH:MM:SS"
    Sr DBA Oracle / MS-SQL / MySQL / Postgresql / SAP-Sybase / Informix / DB2

    N'oublie pas de consulter mes articles, mon blog, les cours et les FAQ SGBD

    Attention : pas de réponse technique par MP : pensez aux autres, passez par les forums !

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 116
    Par défaut
    Merci pour l'instruction WaitFor, c'est ce que je recherchais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Batch avec traitements parallèles
    Par Immobilis dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 20/09/2012, 22h18
  2. Servlet qui renvoie un JSON: Traitement parallèle ?
    Par TheParadoX dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/01/2012, 13h16
  3. [SSIS] [2K5] Impacts des traitements parallèles
    Par gassisprog dans le forum SSIS
    Réponses: 3
    Dernier message: 04/03/2011, 14h55
  4. Stockage de données et traitement parallèle
    Par Carpe Dyemme dans le forum Simulink
    Réponses: 1
    Dernier message: 09/09/2010, 16h49
  5. [datastage] Boucle avec traitement parallèle
    Par blazDelParis dans le forum DataStage
    Réponses: 4
    Dernier message: 09/09/2010, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo