2015-05-17 87 views
3

您能否帮我解决我的查询问题。我在数据库编程方面非常新,我彻底搜索网络寻求帮助,但没有解决我的问题。我受够了,想知道这是否可能。 我想完成的是执行一个SELECT查询,其中要在运行时提供要搜索的列。喜欢这个:SQL查询WHERE子句是参数

SELECT * 
FROM myTable 
WHERE @columnToSeach = @_ColumnName 

建议真的很感谢,因为我的大脑几乎在这个出血。

+0

这可不是用参数的可能。 – GolezTrol

+0

好的。谢谢..我会尝试查看动态SQL。我可能会发现那些可以帮助我的东西。 – Macoy

+0

@MitchWheat:动态SQL很容易出现sql注入攻击。没有这个警告,我不会提供它作为建议。 –

回答

1

一个非常快速的解决办法是:

execute ('SELECT * FROM myTable WHERE ' + @columnToSeach + '=' + @_ColumnName) 
+0

我没有注意到你想防止SQL注入,并且我认为你是唯一一个会使用它的人 无论如何,你可能会使用一些验证: 'if(不是charindex('',@_ColumnName)> 0)' –