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 :

Procédure stockée avec message "commandes réussies"


Sujet :

Développement SQL Server

  1. #1
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut Procédure stockée avec message "commandes réussies"
    Bonjour

    J'ai créer une procédure stockée avec deux variables.
    Lorsque j'exécute cette procédure stockée, j'ai aucune valeur qui s'affiche. J'ai simplement un message qui me dis : "
    commande réussies"
    J'ai beau chercher sur Google, des pistes pour résoudre ce problème mais je en trouve rien.
    Auriez vous une explication ? Merci d'avance de votre aide.

    Cette requête sql fonctionne très bien lorsque je la lance sans faire appel à la procédure stockée

    Voici la procédure stockée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    EXEC	requête1
    		@StartDateTime = '20190514 04:30',
    		@EndDateTime = '20190515 04:30'
     
     
    GO

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 561
    Points
    52 561
    Billets dans le blog
    5
    Par défaut
    ça c'est l'appel… Quel est le code de la PS ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Voici le code de la PS

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    create procedure SP_TriNonMeca
    @StartDateTime DateTime,
    @EndDateTime DateTime
     
    as
     
    --DECLARE @StartDateTime DateTime = '20190513 04:30:00'
    --DECLARE @EndDateTime DateTime =   '20190514 04:30:00'
     
     
    ;WITH HN as (
     
    select DISTINCT
     
    [archive].dbo.PrintTableDetail.Chute,
    [archive].dbo.PrintTableDetail.Row,
    [customer].dbo.T_NonMeca.destination_NM,
    [customer].dbo.T_NonMeca.SortingType,
    [archive].dbo.parcel.Id as NbrColisNM
     
    FROM [archive].dbo.Parcel
    inner JOIN [archive].dbo.ParcelEvent
    ON [archive].dbo.Parcel.Id=[archive].dbo.ParcelEvent.ParcelId AND [archive].dbo.Parcel.SystemNum=1 and [archive].dbo.parcelevent.EventTypeNum=2 
    															  AND [archive].dbo.ParcelEvent.[DateTime] BETWEEN @StartDateTime AND @EndDateTime
     
    inner JOIN [archive].dbo.Vacation
    ON [archive].dbo.Parcel.VacationId=[archive].dbo.Vacation.Id
     
    inner JOIN [archive].dbo.Tache
    ON [archive].dbo.Vacation.IdTache=[archive].dbo.Tache.Id
     
    inner JOIN [archive].dbo.PrintTable
    ON [archive].dbo.Tache.Id=[archive].dbo.PrintTable.IdTache
     
    inner JOIN [archive].dbo.PrintTableDetail
    ON [archive].dbo.PrintTableDetail.PrintTableId=[archive].dbo.PrintTable.Id 
    AND [archive].dbo.Parcel.PostalCode BETWEEN [archive].dbo.PrintTableDetail.BeginPostalCode AND [archive].dbo.PrintTableDetail.EndPostalCode
     
     inner join [customer].dbo.T_NonMeca
     on [customer].dbo.T_NonMeca.NumChute=[archive].dbo.PrintTableDetail.Chute
     
    group BY
    [archive].dbo.PrintTableDetail.Chute,
    [archive].dbo.PrintTableDetail.Row,
    [customer].dbo.T_NonMeca.destination_NM,
    [customer].dbo.T_NonMeca.SortingType,
    [archive].dbo.parcel.id
    )
     
    SELECT
    HN.Chute,
    HN.Row,
    HN.destination_NM,
    HN.SortingType,
    count(HN.NbrColisNM)
    FROM HN
     
    GROUP BY
    HN.Chute,
    HN.Row,
    HN.destination_NM,
    HN.SortingType
     
    ORDER BY
    HN.Chute

  4. #4
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Pouvez vous vous connecter avec SQLCMD et exécuter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    use [Labasequivabien]
    Go
    EXEC	SP_TriNonMeca @StartDateTime = '20190514 04:30', @EndDateTime = '20190515 04:30'
    go
    Et nous donner la capture d'écran ?

    Note :
    Les condition de jointures
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		AND [archive].dbo.Parcel.SystemNum=1 
    		AND [archive].dbo.parcelevent.EventTypeNum=2 
    		AND [archive].dbo.ParcelEvent.[DateTime] BETWEEN @StartDateTime AND @EndDateTime
    n'en sont pas.
    Elles seraient plus mises en évidence dans une clause WHERE de la même requête.
    Le savoir est une nourriture qui exige des efforts.

  5. #5
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Bonjour Michel,
    Voici la capture d'écran avec SQLCMD
    Images attachées Images attachées  

  6. #6
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Bonjour facteur,

    Non la capture d'écran provient de SSMS, pas de SQLCMD.

    Pour lancer SQLCMD il faut ouvrir une console DOS ; c'est un utilitaire SQL server en ligne de commande.
    Le savoir est une nourriture qui exige des efforts.

  7. #7
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    bonjour,

    n'auriez vous pas activé noexec par erreur ?

    essayez ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    set noexec off;
     
    EXEC	SP_TriNonMeca @StartDateTime = '20190514 04:30', @EndDateTime = '20190515 04:30'

  8. #8
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    aieuuuuuuuuuu:
    meme en rajoutant la ligne de code
    set noexec off;
    j'ai le même message

    Michel, à votre réponse
    Pour lancer SQLCMD il faut ouvrir une console DOS ; c'est un utilitaire SQL server en ligne de commande.
    je dois vous avouer qu'il me faudrait m'aider pas à pas pour que je puisse ouvrir une console DOS

  9. #9
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par facteur Voir le message
    je dois vous avouer qu'il me faudrait m'aider pas à pas pour que je puisse ouvrir une console DOS
    https://www.developpez.net/forums/d2...-commande-dos/

  10. #10
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Citation Envoyé par facteur Voir le message
    je dois vous avouer qu'il me faudrait m'aider pas à pas pour que je puisse ouvrir une console DOS
    Ok.

    1- ouvrir une session sur le serveur SQL (ou sur une machine distante sur laquelle les "outils" sql sont installés)
    2- la combinaison de touches : "<windows> r" ouvre une petite fenêtre "executer"
    3- saisir CMD et valider. Ça ouvre une "console DOS" (ou une fenêtre "invite de commande" dans le menu démarrer)
    4- pour la prochaine étape on doit avoir les informations de connexion utilisée pour ouvrir SSMS. Ne pas hésitez à y retourner pour faire nouveau "connecter" / "moteur de base de donnée..." et bien faire attention aux informations de connexion fournies. Notamment le type d'authentification.
    Pour la suite je vais penser que l'authentification est "authentification Windows" et le nom du serveur est "instancesql"
    5-dans la console DOS tapez : "sqlcmd -?" ça affiche l'aide sur les options (et accessoirement si ça ne marche pas c'est que les outils sql n'ont pas été installés)
    6- dans la console DOS tapez : "sqlcmd -E -S instancesql"
    ça renvoi à la ligne avec "1>"

    A partir de là vous tapez les commandes SQL que vous voulez.
    La demande d’exécution se fait par l'ordre GO (tout seul, sur 1 ligne).

    En remplaçant "[Labasequivabien]" par le nom de la base dans laquelle la procédure existe, exécuter les lignes fournies.

    pour sortir : Taper EXIT
    La première fois on sort de SQLCMD, la deuxième fois on sort de la console DOS
    Le savoir est une nourriture qui exige des efforts.

  11. #11
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Citation Envoyé par facteur Voir le message
    aieuuuuuuuuuu:
    meme en rajoutant la ligne de code j'ai le même message

    et avec sa petite soeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SET PARSEONLY Off;
    ?

  12. #12
    Membre actif
    Inscrit en
    Avril 2007
    Messages
    1 239
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 1 239
    Points : 213
    Points
    213
    Par défaut
    Bonjour Tout le monde
    Avant tout merci d 'avoir pris le temps de me réponder et de me soumettre vos solutions.
    Vous allez surement me detester mais le problème venait de mes base de données.
    J'essayais de lancer ma procédure stockée à partir d'une base de donnée autre que celle ou je devais l'éxécuter.
    Ja'i un peu honte je vous l'avoue

    Michel, cependant, je garde sous la main votre procédure qui permet de lancer SQLCMD

    Je ferme cette discussion et merci envore d'être là.
    j'adore ce forum

  13. #13
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par facteur Voir le message
    J'essayais de lancer ma procédure stockée à partir d'une base de donnée autre que celle ou je devais l'éxécuter.
    Ja'i un peu honte je vous l'avoue
    Tu peux avoir honte ! Cela dit, on l'a tous fait cette erreur là

  14. #14
    Membre expérimenté
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Septembre 2016
    Messages
    731
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2016
    Messages : 731
    Points : 1 416
    Points
    1 416
    Par défaut
    Il existe des petites options dans SSMS qui rendent la vie plus simple, et notamment au sujet des connexions à différents serveurs.

    En image :
    Nom : 2019-05-17 19_14_26-Window.png
Affichages : 458
Taille : 10,7 Ko
    Nom : 2019-05-17 19_16_01-Window.png
Affichages : 461
Taille : 26,3 Ko
    Nom : 2019-05-17 19_18_21-Window.png
Affichages : 464
Taille : 38,1 Ko

    je regrette simplement que ce cela n'agisse pas aussi sur la couleur de l'onglet
    Le savoir est une nourriture qui exige des efforts.

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

Discussions similaires

  1. Procédure stockée avec retour de curseur
    Par Oufti dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 07/11/2005, 22h40
  2. Procédure stockée avec SELECT UNION
    Par maredami dans le forum Oracle
    Réponses: 4
    Dernier message: 07/11/2005, 11h05
  3. Procédure stockée avec serveur lié et paramètres
    Par AITOZ dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 27/10/2005, 17h51
  4. Procédure stockée avec param de sortie:marchepas av ADO
    Par Fabby69 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/10/2004, 12h04

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