SQL Server:如何编写和执行准备好的语句?

6
在MySQL中,我们可以使用PreparedStatement生成预处理语句。
我想在SQL脚本中实现相同的功能。如何创建预处理语句并执行它?请提供一个例子。

如果你问而不是其他回答这个问题的人http://stackoverflow.com/questions/11982501/sql-running-select-statement-for-local-string-variable,我也可以告诉你。我认为,当你广泛使用一个网站时,学习如何使用它也是一种礼貌。 - fancyPants
1
虽然 OP 在 SO 上的参与确实存在问题,但是“很难判断这里在问什么”吗? - Tim Lehner
1个回答

15
我建议在大多数动态SQL的情况下使用 sp_executesql 而不是 execsp_executesql 类似于 MySQL 的 EXECUTE...USING,因为它可以接受参数而不仅仅是串联字符串,从而有效地防止 SQL 注入攻击。 sp_executesql 还允许 SQL Server 重用查询计划以实现更高效的查询。这里有一个示例:
exec sp_executesql
    @statement = N'select * from sys.databases where name = @dbname or database_id = @dbid',
    @parameters = N'@dbname sysname, @dbid int',
    @dbname = N'master',
    @dbid = 1

您可以在此处找到更多信息和示例。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接