Построение инструкций в среде выполнения
Изменения: 5 декабря 2005 г.
Большинство приложений Microsoft SQL Server 2005, в которых необходимо динамически построить инструкции SQL в среде выполнения, производят это построение перед тем, как вызвать функцию или метод API базы данных для выполнения инструкции. Например, приложение на языке C, использующее ODBC, может динамически построить и записать одну или несколько инструкций SQL в символьный массив и после этого передать этот массив функциям ODBC SQLPrepare или SQLExecDirect.
Язык Transact-SQL поддерживает два метода построения инструкций SQL во время выполнения в сценариях, хранимых процедурах и триггерах Transact-SQL:
- Использование системной хранимой процедуры sp_executesql для выполнения строки в Юникоде. Процедура sp_executesql поддерживает подстановку параметров по аналогии с инструкцией RAISERROR.
- Использование инструкции EXECUTE для выполнения символьной строки. Инструкция EXECUTE не поддерживает подстановку параметров в выполняемой строке.
Примечание безопасности. Использование инструкции EXECUTE для выполнения строки облегчает атаки типа SQL Injection. Вместо этого рекомендуется использовать инструкцию sp_executesql с параметрами.
См. также
Основные понятия
Другие ресурсы
атака SQL Injection
Хранимая процедура sp_executesql (Transact-SQL)
Справка и поддержка
Получение помощи по SQL Server 2005
Журнал изменений
Версия | Журнал |
---|---|
5 декабря 2005 г. |
|