Параметризация вторичных переменных в SQL
Здравствуй У меня есть задача параметризации старого классического веб-приложения ASP. В приложении буквально тысячи строк SQL. Мой вопрос: нужно ли параметризовать вторичные / производные переменные / данные? Например, предположим, что есть форма, которую отправляет пользователь. Очевидно, что все вводимые пользователем данные должны быть параметризованы. Пример: «Вставить в значения Tbl1 (Col1, Col2) (?,?)» Однако на многих страницах приложение вызывает другие данные из базы данных на основе только что захваченных данных формы (то, что я назвал вторичными / производными данными) и затем это используется для обновления / вставки в другие таблицы. Пример: «Выберите Value1, Value2 из Tbl1, где Id = (Выберите Max (Id) из Tbl1)», затем «Вставить в Tbl2 (Col1, Col2) значения (Value1 ?, Value2?)», Где Value1? и Value2? были возвращены оператором select.
Итак, необходимо ли параметризовать вторичные / производные переменные? Я думаю, что это не обязательно, потому что любая SQL-инъекция привела бы к сбою первой SQL-вставки, и поэтому последующие SQL-вызовы не будут выполняться. Это правильно или неправильно?
Что я уже пробовал:
В настоящее время я параметризую все входные данные - первичный, вторичный и все, что находится между ними, но если я смогу уменьшить рабочую нагрузку, просто параметризуя первичный пользовательский ввод, я буду очень благодарен.
Maciej Los
Я не уверен, что хорошо вас понимаю, но ваше замешательство вызвано отсутствием информации о SQL. Я бы предложил использовать только хранимые процедуры.