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 :

Problème avec procédure stockée [2008]


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Points : 120
    Points
    120
    Par défaut Problème avec procédure stockée
    Bonjour.
    Je veux apprendre à manipuler une procédure stockée. voilà un essai

    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
    -- ================================================
    -- Template generated from Template Explorer using:
    -- Create Procedure (New Menu).SQL
    --
    -- Use the Specify Values for Template Parameters 
    -- command (Ctrl-Shift-M) to fill in the parameter 
    -- values below.
    --
    -- This block of comments will not be included in
    -- the definition of the procedure.
    -- ================================================
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:	<Description,,>
    -- =============================================
    CREATE PROCEDURE RechercheSuspect
    	-- Add the parameters for the stored procedure here
    	@ValSusPect Nvarchar(100)
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
        -- Insert statements for procedure here
    	SELECT     Reference, DatePlainte, NomVictime, PrenomVictime, DnVictime, Sexe, TelMob, MailVictime, PaysOrigineVictime, PaysPlainte, VilleHabitation, Adresse, SmVictime, 
                          nbenf, Fonction, Employeur, TypeArnaque, RecitPlainte, DossierClasse, MailSuspect
    FROM         dbo.T_PLAINTE
    WHERE     (MailSuspect Like %@ValSusPect%)
    END
    GO
    à l'exécution, il m'affiche le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg*102, Niveau*15, État*1, Procédure*RechercheSuspect, Ligne*19
    Syntaxe incorrecte vers '@ValSusPect'.
    qu'est ce qui n'a pas marché?

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 169
    Points
    169
    Par défaut
    Salut,

    L'erreur se trouve sur la ligne du WHERE :
    tu ne peux pas écrire %@ValSusPect% : il faut que les % soient dans la variable !

    2 solutions s'offrent à toi : soit c'est la procédure qui ajoute les % au paramètre d'entrée, soit c'est le programme qui appelle ta procédure stockée en ayant mis les % dans le paramètre d'entrée.

    Avec l'option de la procédure ça donne ceci :
    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
    -- ================================================
    -- Template generated from Template Explorer using:
    -- Create Procedure (New Menu).SQL
    --
    -- Use the Specify Values for Template Parameters 
    -- command (Ctrl-Shift-M) to fill in the parameter 
    -- values below.
    --
    -- This block of comments will not be included in
    -- the definition of the procedure.
    -- ================================================
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author:		<Author,,Name>
    -- Create date: <Create Date,,>
    -- Description:	<Description,,>
    -- =============================================
    CREATE PROCEDURE RechercheSuspect
    	-- Add the parameters for the stored procedure here
    	@ValSusPect Nvarchar(100)
    AS
    BEGIN
    	-- SET NOCOUNT ON added to prevent extra result sets from
    	-- interfering with SELECT statements.
    	SET NOCOUNT ON;
     
    -- ICI !
    SET @ValSusPect = '%' + @ValSusPect + '%'
     
        -- Insert statements for procedure here
    	SELECT     Reference, DatePlainte, NomVictime, PrenomVictime, DnVictime, Sexe, TelMob, MailVictime, PaysOrigineVictime, PaysPlainte, VilleHabitation, Adresse, SmVictime, 
                          nbenf, Fonction, Employeur, TypeArnaque, RecitPlainte, DossierClasse, MailSuspect
    FROM         dbo.T_PLAINTE
    WHERE     (MailSuspect LIKE @ValSusPect)
    END
    GO
    Attention, si @ValSusPect est NULL, ça ne te retournera rien

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    338
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 338
    Points : 120
    Points
    120
    Par défaut
    Merci beaucoup

    ça marche
    et l'exécution qui me posait un problème marche aussi.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 93
    Points : 169
    Points
    169
    Par défaut
    De rien, et pense au tag "résolu"

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

Discussions similaires

  1. Problème avec procédure stockée appelée via dblink
    Par SelectEtoile dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 24/01/2011, 16h45
  2. problème avec procédure stockée
    Par doudou8mc dans le forum Développement
    Réponses: 8
    Dernier message: 08/10/2009, 18h06
  3. problème avec procédure stockée
    Par kanebody dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/08/2009, 13h55
  4. Problème erreur avec procédure stockée
    Par hugo7 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 03/02/2009, 17h22
  5. Réponses: 1
    Dernier message: 17/07/2006, 17h08

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