我正在查看一个对 SQL Server 使用高度动态 sql 查询的应用程序。查看以非常奇怪和复杂的方式构建的查询,但这是一个不同的故事,我告诉它是为了给我无法(太愚蠢)自己找出问题的充分理由......我看不到查询用sp_executesql
.
但是当我跟踪时,我可以看到很多查询都包含在sp_executesql
. 整个应用程序解决方案甚至根本不包含该命令sp_executesql
。
所以我想知道是否有一种我还不知道的配置强制软件默认使用 sp_executesql 包装查询?
什么可能导致这种行为?
如何在 SQL Server 中创建和使用准备好的语句?
在 PostgreSQL 中,您可以执行以下操作:
PREPARE prepared (varchar, varchar, etc) AS
INSERT INTO table(field,field,etc)
VALUES ($1,$2,etc);
EXECUTE (value,value,etc);
Run Code Online (Sandbox Code Playgroud)
在 MySQL 中类似的东西。
我在 SQL Server 中找不到任何示例。我已经看到了一些使用功能的例子,但我不认为这是同样的事情。
谢谢