Pourquoi quelqu'un utiliserait-il WHERE 1=1 AND <conditions>
dans une clause SQL (Soit du SQL obtenu par des chaînes concaténées, soit une définition de vue)
J'ai vu quelque part que cela serait utilisé pour se protéger contre l'injection SQL, mais cela semble très bizarre.
S'il y a injection WHERE 1 = 1 AND injected OR 1=1
aurait le même résultat que injected OR 1=1
.
Modification ultérieure : Qu'en est-il de l'utilisation dans une définition de vue ?
Merci pour vos réponses.
Quand même, Je ne comprends pas pourquoi quelqu'un utiliserait cette construction pour définir une vue, ou l'utiliserait dans une procédure stockée.
Prenons l'exemple suivant :
CREATE VIEW vTest AS
SELECT FROM Table WHERE 1=1 AND table.Field=Value
3 votes
"pourquoi quelqu'un utiliserait-il cette construction pour définir une vue" Probablement par habitude. Il n'offre aucun avantage fonctionnel dans les requêtes statiques.
0 votes
Personne ne devrait utiliser Dynamic SQL