运行时生成语句
更新日期: 2005 年 12 月 5 日
大多数 Microsoft SQL Server 2005 应用程序在调用数据库 API 函数或方法执行 SQL 语句之前,都必须在运行时动态生成这些语句。例如,使用 ODBC 的 C 语言应用程序动态将一个或多个 SQL 语句生成到字符数组中,然后将该数组传递到 ODBC SQLPrepare 或 SQLExecDirect 函数。
Transact-SQL 支持下列在运行时使用 Transact-SQL 脚本、存储过程以及触发器生成 SQL 语句的方法:
- 使用 sp_executesql 系统存储过程执行 Unicode 字符串。sp_executesql 支持与 RAISERROR 语句类似的参数替换。
- 使用 EXECUTE 语句执行字符串。EXECUTE 语句不支持已执行字符串中的参数替换。
安全说明: 使用 EXECUTE 语句执行字符串容易受到 SQL 注入攻击。建议您改用带有参数的 sp_executesql。
请参阅
概念
其他资源
SQL 注入
sp_executesql (Transact-SQL)
帮助和信息
更改历史记录
版本 | 历史记录 |
---|---|
2005 年 12 月 5 日 |
|