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 :

Probleme Procedure Stockée SQL2000


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut Probleme Procedure Stockée SQL2000
    Bonjour à tous
    voici ma Procedure stockee
    CREATE PROCEDURE PS_INTERROGATION_FL
    @Num AS INT, @Date AS NUMERIC
    AS
    BEGIN
    SET NOCOUNT ON:
    select * from [FL] where [NFL_FL]=@Num AND [Date_FL]=@Date
    END
    GO
    il n'y a pas d'erreur mais lorsque je veux interroger celle si dans un analyseur de requete j'y arrive pas
    en faite j'arrive pas a mettre mon second parametre "date"
    j'eccrise cela:
    exec PS_INTERROGATION_FL 128014 '20080506'
    mais j'ai cette erreur:
    Serveur*: Msg 170, Niveau 15, État 1, Ligne 1
    Ligne 1 : syntaxe incorrecte vers '20080506'
    quelqu'un peut il m'aider

    merci d'avance

  2. #2
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    j'ai trouvé il faut juste mettre une "," entre les deux termes
    il me semblait l'avoir deja fait mais peut etre avec un espace entre chaque!!

    avec un peu de perseverance , on s'en sort quand meme

  3. #3
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    salut


    pour moi '20080506' n'est pas NUMERIC de base...

    mais ton erreur indique qu'il n'aime pas les ' '

    ou qu'il faut un séparateur entre les deux arguments

    je ne me souviens pu de la syntaxe exacte pour les arguments...


    soit enleve les ' ' pour ta "date"
    soit regarde du coté des arguments multiples !

    je pense t'avoir donnée quelques pistes


    ---

    EDIT 0

    ah bah, je n'avais pas tout à fait tord

  4. #4
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    merci pour ta reponse

    j'en ai une autre

    CREATE PROCEDURE PS_FL
    @Ligne AS VARCHAR, @FL AS INT, @Date AS NUMERIC
    AS
    BEGIN
    SET NOCOUNT ON:

    SELECT * FROM [VUE_FL] Where [LIGNE_FL]=@Ligne AND [NFL_FL]=@FL AND [DATE_FL]=@Date

    END
    GO
    j'ai un probleme avec le @Ligne

    EXEC PS_FL 5N GUIPAGE,127193,20080506
    Serveur*: Msg 170, Niveau 15, État 1, Ligne 1
    Ligne 1 : syntaxe incorrecte vers 'N'.

  5. #5
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    et si tu essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC PS_FL '5N GUIPAGE',127193,20080506

  6. #6
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    Il m'affiche rien alors que je devrais avoir:
    127193 20080506 125383 EN739 AS BLEU 6x12 40M LINDE 5N GUIPAGE 10 0 6 12 127193 20080506

  7. #7
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    je pense que tu es sur de ton résultat


    pour voir ce qui se passe réellement

    créer une variable text qui va contenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM [VUE_FL] Where [LIGNE_FL]=@Ligne AND [NFL_FL]=@FL AND [DATE_FL]=@Date
    tu affiche cette variable et tu regarde quel est l problème dans ta requête

    voilà

  8. #8
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    je pense que tu es sur de ton résultat


    pour voir ce qui se passe réellement

    créer une variable text qui va contenir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM [VUE_FL] Where [LIGNE_FL]=@Ligne AND [NFL_FL]=@FL AND [DATE_FL]=@Date
    tu affiche cette variable et tu regarde quel est le problème dans ta requête

    voilà

  9. #9
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    excuse mais j'ai pas compris
    il faut que je créé une variable texte ca oki
    mais comment mettre mon select?

  10. #10
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    je ne sais pas si c'est possible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @taVar = SELECT * FROM [VUE_FL] WHERE [LIGNE_FL]=@Ligne AND [NFL_FL]=@FL AND [DATE_FL]=@Date
    histoire de voir comment se construit ta chaîne requête avec les différentes variables à l'intérieur

    ensuite tu affiche ta variable

    j'espère t'avoir aidé, un peu

  11. #11
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    regarde dans l'analyseur de requete j'ai mis ca
    SELECT * FROM [VUE_FL] WHERE [LIGNE_FL]='755 TNA'
    et la no soucis il ma mit tous les lignes correspondantes a la ligne 755 TNA

    je vois pas la différence entre cette ligne et l'autre je mets comme parametre '755 TNA' dans les 2 cas

  12. #12
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    mais essaye quand même avec tous les paramètres car dans ta procédure tu as
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AND [NFL_FL]=@FL AND [DATE_FL]=@Date
    en plus

    donc je ne sais pas soit tes paramètres ne sont pas bon soit la requête ne renvoie aucunes lignes

    c'est pour ca que mettre ton select dans une variable aurait pu t'aider car tu aurais pu visualiser la requête construite avec les paramètres de la procédure et vérifier si elle te retourne des lignes


    Sinon je dois t'avouer que je ne vois pas trop

  13. #13
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    je ne vois pas comment faire pour faire le @tvar=Select... dans la procédure

    c'est pas grave je vais bien trouvé

  14. #14
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Est-ce que c'est possible d'afficher une variable dans ta procédure ?

    si oui

    tu peux afficher le select,

    je m'explique

    le select = un string ici (je ne te parle pas du résultat) mais juste de la phrase!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @taVar = SELECT * FROM [VUE_FL] WHERE [LIGNE_FL]=@Ligne AND [NFL_FL]=@FL AND [DATE_FL]=@Date
     
    dbms_output.put_line(@taVar)
    ou quelque chose comme ça

  15. #15
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    en faite je m'apercois que c'est le type de données de @Ligne qu'il n'aime pas il est actuellement en VARCHAR et lorsque je lui mets 755 TNA -> pb avec TNA
    je le mets ensuite en NUMERIC et lorsque je lui mets 1209-> no pb

    pour ta reponse je ne sais pas si c'est possible je vais essayer de suite

    j'ai essayé j'ai mis ca mais erreur
    CREATE PROCEDURE ESSAI
    @Ligne AS VARCHAR, @FL AS INT, @Date AS NUMERIC, @taVar AS VARCHAR
    AS
    @taVar =SELECT * FROM [VUE_FL] WHERE [LIGNE_FL]=@Ligne AND [NFL_FL]=@FL AND [DATE_FL]=@Date

    BEGIN
    SET NOCOUNT on

    END
    GO
    erreur de syntaxe avec @taVar et la mes competences sont limite

  16. #16
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Points : 93
    Points
    93
    Par défaut
    Essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    CREATE PROCEDURE ESSAI
    @Ligne AS VARCHAR, @FL AS INT, @Date AS NUMERIC, @taVar AS VARCHAR
    AS
    @taVar :=SELECT * FROM [VUE_FL] WHERE [LIGNE_FL]=@Ligne AND [NFL_FL]=@FL AND [DATE_FL]=@Date
     
    BEGIN
    SET NOCOUNT on
     
    END
    GO

  17. #17
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    syntaxe incorrectde de @taVAR erreur 170
    j'ai ouvert une autre discussion je vais essayer de ne prendre que les chiffres se sera plus simple je pense

  18. #18
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    332
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2002
    Messages : 332
    Points : 502
    Points
    502
    Par défaut
    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
    CREATE PROCEDURE USP_ESSAI
     
    @p_Ligne	VARCHAR(100), 
    @p_FL		INT, 
    @p_Date		NUMERIC(20)
     
    AS
     
    SET NOCOUNT ON
     
    SELECT * 
    FROM [VUE_FL] 
    WHERE [LIGNE_FL]	= p_Ligne 
    AND [NFL_FL]		= @p_FL 
    AND [DATE_FL]		= @p_Date
     
    GO
    C'est de la syntaxe SQL Server 101.

    Et je suis étonné de voir un champs date être considéré numérique. Vous allez peut-être devoir changer la longueur permises des strings et du numérique.

  19. #19
    Membre habitué
    Administrateur systèmes et réseaux
    Inscrit en
    Janvier 2007
    Messages
    496
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2007
    Messages : 496
    Points : 146
    Points
    146
    Par défaut
    Merci beaucoup ca fonctionne a merveille
    CREATE PROCEDURE USP_ESSAI

    @p_Ligne VARCHAR(100),
    @p_FL INT,
    @p_Date NUMERIC(20)

    AS

    SET NOCOUNT ON

    SELECT *
    FROM [VUE_FL]
    WHERE [LIGNE_FL] = @p_Ligne
    AND [NFL_FL] = @p_FL
    AND [DATE_FL] = @p_Date

    GO
    exec USP_ESSAI '755 TNA',127662,20080506
    resultat
    755 TNA 127662.000 20080506 147318 TUBCLAIR AL 4 x 6 - 50M 4 0 4 6
    755 TNA 127662.000 20080506 147318 TUBCLAIR AL 4 x 6 - 50M 4 0 4 6
    755 TNA 127662.000 20080506 147318 TUBCLAIR AL 4 x 6 - 50M 4 0 4 6
    merci

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

Discussions similaires

  1. [PDO] probleme procedure stockée
    Par yannick29000 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/10/2011, 16h44
  2. Probleme procedure stockée
    Par tmerigon dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 16/04/2010, 18h43
  3. probleme procedure stocké
    Par touille dans le forum SQL
    Réponses: 2
    Dernier message: 19/08/2009, 15h31
  4. [SQL 2000] Probleme Procedure Stockée
    Par lg022 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/05/2008, 12h00
  5. probleme procedure stockée avec Mysql
    Par emna_bz dans le forum Installation
    Réponses: 2
    Dernier message: 01/02/2006, 16h26

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