Почему кто-то использует WHERE 1=1 AND <conditions>
в предложении SQL (либо SQL, полученный с помощью конкатенированных строк, либо для определения определения)
Я где-то видел, что это будет использоваться для защиты от SQL Injection, но это кажется очень странным.
Если есть инъекция WHERE 1 = 1 AND injected OR 1=1
будет иметь тот же результат, что и injected OR 1=1
.
Далее отредактируйте: как насчет использования в определении представления?
Спасибо за ваши ответы.
Тем не менее, Я не понимаю, зачем кому-то использовать эту конструкцию для определения представления или использовать его внутри хранимой процедуры.
Возьмите это, например:
CREATE VIEW vTest AS
SELECT FROM Table WHERE 1=1 AND table.Field=Value