Proc Stock - Select avec critères..

Résolu
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 - 12 oct. 2006 à 10:39
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 - 13 oct. 2006 à 12:25
Bonjour,
j'aimerai faire une proc stock qui me ramènent tous les enregistrments suivant les paramètres (Union) et je ne suis pas une bestasse en T-SQL ..

ALTER PROCEDURE [dbo].[sp_getCustomers]
     @pi_CustomerID int
   , @pi_FirstName nvarchar(255)
   , @pi_LastName nvarchar(255)
   , @pi_Email nvarchar(255)
   , @pi_CompanyName nvarchar(255)

AS
BEGIN

    Declare @strWhere text

    SELECT CustomerID, FirstName, LastName, Email, CompanyName
    FROM dbo.mnBoCustomer
   
    if @pi_CustomerID is not null
    Begin
        @strWhere = str(@pi_CustomerID)
       
    end
END

Quelqu'un pourrait me dépatouiller ?
Merci

4 réponses

cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 3
13 oct. 2006 à 11:02
dans ce cas tu fais un where comme suit :

...WHERE (@Param1 IS NULL OR [mailto:Champ1=@Param1 Champ1=@Param1]) AND (@Param2 IS NULL OR .....
3
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 3
12 oct. 2006 à 16:14
Voila comment utiliser Where , si tu as des problème a formuler la condition, Explique nous se que tu veux faire...

ALTER PROCEDURE [dbo].[sp_getCustomers]
     @pi_CustomerID int
   , @pi_FirstName nvarchar(255)
   , @pi_LastName nvarchar(255)
   , @pi_Email nvarchar(255)
   , @pi_CompanyName nvarchar(255)

AS
BEGIN

    SELECT CustomerID, FirstName, LastName, Email, CompanyName
    FROM dbo.mnBoCustomer WHERE [mailto:CustomerID=@pi_CustomerID CustomerID=@pi_CustomerID] AND FirstName LIKE @pi_FirstName .....
   
END
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
12 oct. 2006 à 16:28
En fait j'aimerai, tester tous mes paramètres d'entrée et s'ils ne sont pas vide les ajouter à ma clause Where.
Est ce plus clair ?

Merci
0
cs_cbu Messages postés 394 Date d'inscription mercredi 30 janvier 2002 Statut Membre Dernière intervention 4 novembre 2009 1
13 oct. 2006 à 12:25
Nickel,
il me manquait aussi si aucune valeur n'était passé dans mon paramètre .. :
ALTER PROCEDURE [dbo].[sp_getCustomers]
    @pi_CustomerID int = null,

Merci a que Ciao
0