Dans une procédure stockée (SQL Server 7.0) avec un paramètre , je veux :
- lorsque le paramètre est null -> traitement des enregistrements sans
filtre du paramètre
- lorsque le paramètre est renseigné -> traitement des enregistrements
"filtrés" par le paramètre
- je ne veux pas utilisé exec(chaineSQL)
Je pense avoir trouvé une solution (voir ci-dessous) mais celà ne fonctionne
pas dans le cas
où mon paramètre est Null.Est-ce quelqu'un à une idée ?
Crete Procedure QryTest @Parametre nvarchar(15)=Null
AS
declare @Parametre nvarchar(15)
SELECT champ1,champ2
FROM Table1
where Champ1='Valeur'
AND Champ2=(CASE
WHEN Champ2 is Null then (Champ2)
ELSE @Parametre END)
.....
......
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Oliv'
Bonjour,
essaye
where champ1='valeur' and 1= case when @Parametre is null then 1 when champ2 = @Parametre then 1 else 0 end Oliv'
"Jean-Yves" <jeanyves.rancurel@(supprimerceci)vishay.com> a écrit dans le message de news: Omyh% Bonjour à tous ,
Dans une procédure stockée (SQL Server 7.0) avec un paramètre , je veux : - lorsque le paramètre est null -> traitement des enregistrements sans filtre du paramètre - lorsque le paramètre est renseigné -> traitement des enregistrements "filtrés" par le paramètre - je ne veux pas utilisé exec(chaineSQL)
Je pense avoir trouvé une solution (voir ci-dessous) mais celà ne fonctionne pas dans le cas où mon paramètre est Null.Est-ce quelqu'un à une idée ?
Crete Procedure QryTest @Parametre nvarchar(15)=Null AS declare @Parametre nvarchar(15) SELECT champ1,champ2 FROM Table1 where Champ1='Valeur' AND Champ2=(CASE WHEN Champ2 is Null then (Champ2) ELSE @Parametre END) ..... ......
Merci d'avance
Jean-Yves
Bonjour,
essaye
where champ1='valeur'
and 1= case when @Parametre is null then 1
when champ2 = @Parametre then 1
else 0 end
Oliv'
"Jean-Yves" <jeanyves.rancurel@(supprimerceci)vishay.com> a écrit dans le
message de news: Omyh%23QO4EHA.2676@TK2MSFTNGP12.phx.gbl...
Bonjour à tous ,
Dans une procédure stockée (SQL Server 7.0) avec un paramètre , je veux :
- lorsque le paramètre est null -> traitement des enregistrements sans
filtre du paramètre
- lorsque le paramètre est renseigné -> traitement des enregistrements
"filtrés" par le paramètre
- je ne veux pas utilisé exec(chaineSQL)
Je pense avoir trouvé une solution (voir ci-dessous) mais celà ne fonctionne
pas dans le cas
où mon paramètre est Null.Est-ce quelqu'un à une idée ?
Crete Procedure QryTest @Parametre nvarchar(15)=Null
AS
declare @Parametre nvarchar(15)
SELECT champ1,champ2
FROM Table1
where Champ1='Valeur'
AND Champ2=(CASE
WHEN Champ2 is Null then (Champ2)
ELSE @Parametre END)
.....
......
where champ1='valeur' and 1= case when @Parametre is null then 1 when champ2 = @Parametre then 1 else 0 end Oliv'
"Jean-Yves" <jeanyves.rancurel@(supprimerceci)vishay.com> a écrit dans le message de news: Omyh% Bonjour à tous ,
Dans une procédure stockée (SQL Server 7.0) avec un paramètre , je veux : - lorsque le paramètre est null -> traitement des enregistrements sans filtre du paramètre - lorsque le paramètre est renseigné -> traitement des enregistrements "filtrés" par le paramètre - je ne veux pas utilisé exec(chaineSQL)
Je pense avoir trouvé une solution (voir ci-dessous) mais celà ne fonctionne pas dans le cas où mon paramètre est Null.Est-ce quelqu'un à une idée ?
Crete Procedure QryTest @Parametre nvarchar(15)=Null AS declare @Parametre nvarchar(15) SELECT champ1,champ2 FROM Table1 where Champ1='Valeur' AND Champ2=(CASE WHEN Champ2 is Null then (Champ2) ELSE @Parametre END) ..... ......
Merci d'avance
Jean-Yves
Jean-Yves
Merci Oliv'
Ton code fonctionne et je viens de m'apercevoir que mon code fonctionne aussi , j'ai du me mélanger les pinceaux ...
Jean-Yves
"Oliv'" <(supprimerceci) a écrit dans le message de news:41bd5026$0$26027$
Bonjour,
essaye
where champ1='valeur' and 1= case when @Parametre is null then 1 when champ2 = @Parametre then 1 else 0 end Oliv'
"Jean-Yves" <jeanyves.rancurel@(supprimerceci)vishay.com> a écrit dans le message de news: Omyh% Bonjour à tous ,
Dans une procédure stockée (SQL Server 7.0) avec un paramètre , je veux : - lorsque le paramètre est null -> traitement des enregistrements sans filtre du paramètre - lorsque le paramètre est renseigné -> traitement des enregistrements "filtrés" par le paramètre - je ne veux pas utilisé exec(chaineSQL)
Je pense avoir trouvé une solution (voir ci-dessous) mais celà ne
fonctionne
pas dans le cas où mon paramètre est Null.Est-ce quelqu'un à une idée ?
Crete Procedure QryTest @Parametre nvarchar(15)=Null AS declare @Parametre nvarchar(15) SELECT champ1,champ2 FROM Table1 where Champ1='Valeur' AND Champ2=(CASE WHEN Champ2 is Null then (Champ2) ELSE @Parametre END) ..... ......
Merci d'avance
Jean-Yves
Merci Oliv'
Ton code fonctionne et je viens de m'apercevoir que mon code fonctionne
aussi ,
j'ai du me mélanger les pinceaux ...
Jean-Yves
"Oliv'" <(supprimerceci)catteau@ricour-assurances.fr> a écrit dans le
message de news:41bd5026$0$26027$afc38c87@news.easynet.fr...
Bonjour,
essaye
where champ1='valeur'
and 1= case when @Parametre is null then 1
when champ2 = @Parametre then 1
else 0 end
Oliv'
"Jean-Yves" <jeanyves.rancurel@(supprimerceci)vishay.com> a écrit dans le
message de news: Omyh%23QO4EHA.2676@TK2MSFTNGP12.phx.gbl...
Bonjour à tous ,
Dans une procédure stockée (SQL Server 7.0) avec un paramètre , je veux :
- lorsque le paramètre est null -> traitement des enregistrements sans
filtre du paramètre
- lorsque le paramètre est renseigné -> traitement des enregistrements
"filtrés" par le paramètre
- je ne veux pas utilisé exec(chaineSQL)
Je pense avoir trouvé une solution (voir ci-dessous) mais celà ne
fonctionne
pas dans le cas
où mon paramètre est Null.Est-ce quelqu'un à une idée ?
Crete Procedure QryTest @Parametre nvarchar(15)=Null
AS
declare @Parametre nvarchar(15)
SELECT champ1,champ2
FROM Table1
where Champ1='Valeur'
AND Champ2=(CASE
WHEN Champ2 is Null then (Champ2)
ELSE @Parametre END)
.....
......
Ton code fonctionne et je viens de m'apercevoir que mon code fonctionne aussi , j'ai du me mélanger les pinceaux ...
Jean-Yves
"Oliv'" <(supprimerceci) a écrit dans le message de news:41bd5026$0$26027$
Bonjour,
essaye
where champ1='valeur' and 1= case when @Parametre is null then 1 when champ2 = @Parametre then 1 else 0 end Oliv'
"Jean-Yves" <jeanyves.rancurel@(supprimerceci)vishay.com> a écrit dans le message de news: Omyh% Bonjour à tous ,
Dans une procédure stockée (SQL Server 7.0) avec un paramètre , je veux : - lorsque le paramètre est null -> traitement des enregistrements sans filtre du paramètre - lorsque le paramètre est renseigné -> traitement des enregistrements "filtrés" par le paramètre - je ne veux pas utilisé exec(chaineSQL)
Je pense avoir trouvé une solution (voir ci-dessous) mais celà ne
fonctionne
pas dans le cas où mon paramètre est Null.Est-ce quelqu'un à une idée ?
Crete Procedure QryTest @Parametre nvarchar(15)=Null AS declare @Parametre nvarchar(15) SELECT champ1,champ2 FROM Table1 where Champ1='Valeur' AND Champ2=(CASE WHEN Champ2 is Null then (Champ2) ELSE @Parametre END) ..... ......