-1

我想问是否可以在运行时组合 SQL 查询。

假设我有一个带有参数的存储过程@type(int)@name(varchar(50))=null并且@dept(varchar(50))=null

现在我有一个查询Select * from Employees

我的问题是我可以动态添加类似where name = @namewhen @type = 1 或where dept = @deptwhen @type = 2

4

3 回答 3

0

你可以写

where (@type = 1 and name = @name) or (@type = 2 and dept = @dept)
于 2012-05-14T11:17:02.173 回答
0

是的,你可以这么做。
以下链接显示了如何在存储过程中使用参数。 http://www.codeproject.com/Articles/126898/Sql-Server-How-to-write-a-Stored-procedure-in-Sql

于 2012-05-14T11:17:47.807 回答
0

如果您使用的是 ADO.Net,请阅读Populating A DataSet from a DataAdapter (ADO.Net)Generate Commands With CommandBuilders (ADO.Net)

于 2012-05-14T11:24:23.073 回答