SQL Server -> Peut on avoir un champ Dynamique dans une clause WHERE ? - SQL/NoSQL - Programmation
Marsh Posté le 19-04-2006 à 10:45:56
Tu pourrais écrire toute ta requete en fonction de conditions dans une variable texte que tu executerais ensuite. Ex :
DECLARE
@v_SQL VARCHAR(2000)
BEGIN
SET @v_SQL = 'ta requete en fonction de tes conditions'
EXEC (@v_SQL)
END
Marsh Posté le 19-04-2006 à 11:03:34
Ha d'accord, pas con je vais essayé ca
Marsh Posté le 21-04-2006 à 15:56:20
autre solution, plus performante, plus plus chiante à lire/écrire :
Code :
|
Avec :
@nomchamp : le nom du champ sur lequel porte le filtre
@valchamp : la valeur de filtre sur ce champ
Marsh Posté le 19-04-2006 à 10:35:22
Bonjour
Je me posais une question, qui pourrais me faciliter le travail.
Peut on avoir un champ dynamique dans une clause WHERE ,
JE M'explique :
J'ai une procédure stockée.
Si je lui passe en paramètre par exemple "3" j'aimerais que ma requete soit du style
SELECT ... FROM ... WHERE CHAMP3 = 2
Si je lui passe en paramètre par exemple "7" j'aimerais que ma requete soit du style
SELECT ... FROM ... WHERE CHAMP7 = 2
En gros si je lui passe X
SELECT ... FROM ... WHERE CHAMPX = 2
Est-ce possible ?
J'ai essayé dans ma procstock en faisant un
DECLARE @ERR varchar(20)
SET @ERR = 'CHAMP'+@PARAM
Puis en mettant WHERE @ERR = 2
Mais sa ne fonctionne pas
---------------
Selon les dernières sources, il y aurait de plus en plus d'étrangers dans le monde...