Probleme avec la clause WHERE
Bonjour tout le monde, comme vous l-imaginey bien j-ai un petit soucis qui j espere grace a vous va disparaitre.
Je bosse actuellement sur une applic Access avec une base de donnée SQL Server 2005. Je récupère en fait des données saisies par le user (pour filtrer mes enregistrement). Ces infos sont récupérées et passées en paramètre à une procédure stockée qui, en fonction de ces param, va extraire mes données.
Dans cette procédure je fais des test sur ces paramètres et je développe ma clause WHERE selon ces test. Je me retrouve donc après avec une variable de type varchar qui contient les conditions de WHERE. Enfin, avant que j'embrouille tout le monde, passons à l'exemple...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| ALTER PROCEDURE [dbo].[sp_retrieve_OF_list]
@SEMAINE AS BIGINT, @FILTRE AS VARCHAR(15)
AS
BEGIN
DECLARE @FILTRE_TOT VARCHAR(1000)
DELETE FROM tb_temp_liste_OF
SELECT @FILTRE_TOT = ''
SELECT @FILTRE_TOT = ' (rq_gpao_ordre_fabrication.of_lanc_sem <= ' + STR(@SEMAINE,6) + ') AND (rq_gpao_ordre_fabrication.of_sit <> ''P'') '
IF SUBSTRING(@FILTRE, 1, 1) = 1
SELECT @FILTRE_TOT = @FILTRE_TOT + ' AND (rq_gpao_ordre_fabrication.art_cod LIKE ''112%'') '
INSERT INTO tb_temp_liste_OF (of_num, of_nat, ....)
SELECT rq_gpao_ordre_fabrication.of_num, rq_gpao_ordre_fabrication.of_nat, ...
FROM rq_gpao_ordre_fabrication INNER JOIN
rq_gpao_articles ON rq_gpao_ordre_fabrication.art_cod = rq_gpao_articles.art_cod
WHERE C'EST ICI QUE JE SèCHE, comment récupérer ici le contenu de ma variable @FILTRE_TOT
ORDER BY rq_gpao_ordre_fabrication.art_cod;
SET NOCOUNT ON;
END |
J espere que j ai reussi a etre plus ou moins clair... En tout cas je vous remerci d-avance mais la je seche completement....