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

Développement SQL Server Discussion :

Délai dans une procédure stockée


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 26
    Par défaut Délai dans une procédure stockée
    Bonjour à tous,

    J'ai une procédure stockée qui selon les valeurs des paramètres d'entrée retourne une valeur entre 1 et 4.
    Cette procédure fonctionne parfaitement, mais j'aimerais qu'après 2 secondes la valeur de retour retombe à 0.
    J'ai essayé avec WAITFOR, mais dès que j'ai ceci dans la procédure, le tag de sortie affiche directement 0 après 2 secondes, mais sans afficher la valeur précédente.

    Y a-t'il un moyen de résoudre ce problème?

    Par avance merci de votre aide

    André

  2. #2
    Membre chevronné Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 553
    Par défaut
    Citation Envoyé par DedeLaMouche Voir le message
    Cette procédure fonctionne parfaitement, mais j'aimerais qu'après 2 secondes la valeur de retour retombe à 0.
    C'est pas clair.
    Si la procédure prend plus de 2 secondes à s'exécuter, elle renvoie 0 ?
    Dans ce cas, mets la valeur de début de process dans une variable et mesure la durée à la fin.

  3. #3
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 26
    Par défaut Précision
    Bonsoir et merci pour la réponse.

    La procédure stockée s'exécute très rapidement et retourne le résultat voulu instantannément.
    Ma question est de savoir si une procédure stockée peut, après avoir envoyé le résultat correct remettre la variable de sortie à 0, suivant une temporisation programmé, ou ceci n'est pas possible dans une procédure stockée.

    En gros la variable de sortie @RetVal est vide ou à 0 avant que la procédure ne soit exécutée, puis passe à la valeur voulue, puis après le délai, de nouveau à 0.
    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
     
    USE [MYBASE]
    GO
     
    DECLARE	@return_value int,
    		@Retval int
     
    EXEC	@return_value = [dbo].[OF_PROCESSING]
    		@CNCHandle = N'124',
    		@OFName = N'OFNAME22',
    		@PartRef = N'10',
    		@PartsNb = 10,
    		@DefPartsNb = 2,
    		@TStrg = N'0',
    		@RobotError = N'0',
    		@ProcID = N'1',
    		@Retval = @Retval OUTPUT
    Bonne soirée

    André

  4. #4
    Membre chevronné Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 553
    Par défaut
    Citation Envoyé par DedeLaMouche Voir le message
    Ma question est de savoir si une procédure stockée peut, après avoir envoyé le résultat correct remettre la variable de sortie à 0, suivant une temporisation programmé, ou ceci n'est pas possible dans une procédure stockée.
    En gros la variable de sortie @RetVal est vide ou à 0 avant que la procédure ne soit exécutée, puis passe à la valeur voulue, puis après le délai, de nouveau à 0.
    Je ne comprends vraiment pas ce qui peut justifier un tel besoin.
    Une fois que la procédure a terminée elle ne va pas se relancer pour changer de valeur de retour avec les mêmes paramètres.
    Je ne sais pas sur quoi vous êtes parti mais ça semble compliqué pour rien.

  5. #5
    Membre averti
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 26
    Par défaut Juste savoir si possible ou non
    Bonjour,

    le logiciel qui utilise ce résultat demande de recevoir la réponse (2 à 4) puis de recevoir 0 comme confirmation de fin de traitement.
    Ceci est demandé afin de détecter que si la procédure répond la même chose lors de la prochaine exécution, (le tag de sortie n'ayant pas changé) un changement de valeur soit tout de même détecté. C'est demandé par le développeur du logiciel tiers.

    Cordialement
    André

  6. #6
    Membre chevronné Avatar de AaâÂäÄàAaâÂäÄàAaâÂäÄ
    Homme Profil pro
    db@
    Inscrit en
    Septembre 2021
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : db@

    Informations forums :
    Inscription : Septembre 2021
    Messages : 553
    Par défaut
    On peut bidouiller une cochonnerie de ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DECLARE	@return_value int,
    		@Retval int
     
    EXEC	@return_value = [dbo].[OF_PROCESSING]
    		@CNCHandle = N'124',
    [..]		@Retval = @Retval OUTPUT
     
    WAITFOR DELAY '00:00:02'
    EXEC	@return_value = [dbo].[Retourne0]
    		@Retval = @Retval OUTPUT
    Mais ça me semble pas mal débile comme façon de faire.

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. Saisie de données dans une procédure stockée
    Par Hastaroth dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/10/2004, 09h54
  3. Vérification du type de données dans une procédure stockée
    Par biroule dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 16/09/2004, 11h20
  4. Marquer une pause dans une procédure stockée
    Par PéPénet dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 08/11/2003, 10h42
  5. Transformation de date dans une procédure stockée
    Par bd0606 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 27/10/2003, 11h31

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