从客户端应用程序我tyipically做:如何在management studio中编写参数化查询?
select * from table where Name = :Parameter
,然后执行查询之前,我做
:Parameter = 'John'
这些参数是一个搜索&更换,但传递给服务器的实际参数。由于我需要详细测试其中一些查询,我该如何在管理工作室中编写查询?
我想用参数编写查询并给参数赋值。如何才能做到这一点?
更新:
要去除这里的混淆我添加信息,以更好地表达myseld。
当我执行正常的查询我在SQL Server Profiler中看到
select * from table where Name = 'John'
而当我执行一个参数化查询我看到这一点:
exec sp_executesql N'select * from table
where Name = @P1',N'@P1 varchar(8000)','John'
这就是为什么我说这是不是一个搜索和替换。
这个更新几乎是我在我的答案中展示给你的...... – 2010-12-10 09:23:43
好吧,你是对的。所以我得到的是当客户端应用程序以某种方式使用参数时,它会使用DELCARE解除变量。非常有趣,这有助于解决我遇到的问题。 – LaBracca 2010-12-10 11:42:44
为了向您解释为什么我问这个问题,我将您重定向到我的最终问题:http://stackoverflow.com/questions/4408551/select-statment-performance-degradation-when-using-distinct-with-parameters – LaBracca 2010-12-10 11:53:09