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 :

Paramètre dans procédure stockée


Sujet :

Développement SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2006
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 104
    Points : 57
    Points
    57
    Par défaut Paramètre dans procédure stockée
    Bonjour.

    J'ai un souci pour passer des paramètres dans une procédure stockée!
    Ma procédure:
    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
    CREATE PROCEDURE [dbo].[Proc_SelectMaTable]  (@idSociete int, @idExercice int, @idDateDebutImport varchar(255), @idDateFinImport varchar(255))
    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 *
    	FROM matable	
    	WHERE matable.idSociete = @idSociete
    	AND matable.idExercice = @idExercice
    	AND matable.idDate BETWEEN @idDateDebutImport AND @idDateFinImport
    END

    Je l’exécute de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    EXEC [Proc_SelectMaTable] 1, 1213 , 'CONVERT(varchar(8),DATEADD(dd,-1,GETDATE()), 112)', 'CONVERT(varchar(8),GETDATE(), 112)'
    et j'ai cette erreur :
    Msg 245, Level 16, State 1, Procedure Proc_SelectErreurPassage, Line 16
    Conversion failed when converting the varchar value 'CONVERT(varchar(8),DATEADD(dd,-1,GETDATE()), 112)' to data type int.
    Si je test la requête sans passer par des paramètres elle fonctionne!

    Avez-vous une idée?

    Merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Vous ne pouvez pas passer vos paramètres ainsi.
    Tel que vous le faite, voici la requête qui est présentée au moteur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    SELECT *
    	FROM matable	
    	WHERE matable.idSociete = 1
    	AND matable.idExercice = 1213 
    	AND matable.idDate BETWEEN 'CONVERT(varchar(8),DATEADD(dd,-1,GETDATE()), 112)' AND 'CONVERT(varchar(8),GETDATE(), 112)'
    Affectez des variables avant de les passer à la procédure :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    declare @IdDebut varchar(8);
    declare @idFin varchar(8);
    set @IdDebut = CONVERT(varchar(8),DATEADD(dd,-1,GETDATE()), 112);
    set @idFin = CONVERT(varchar(8),GETDATE(), 112);
     
    EXEC [Proc_SelectMaTable] 1, 1213, @IdDebut, @idFin

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 25/08/2021, 14h52
  2. Ajout paramétres dans procédure stockée
    Par calou_33 dans le forum SQL
    Réponses: 2
    Dernier message: 21/10/2010, 13h00
  3. Réponses: 0
    Dernier message: 15/01/2009, 16h09
  4. ENCODE() Paramètres dans Procédure stockée
    Par Dimitri_87 dans le forum SQL Procédural
    Réponses: 0
    Dernier message: 15/04/2008, 15h36
  5. Suppression de paramètre pour procédure stockée dans le code
    Par 24 faubourg dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/01/2006, 10h51

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