相关疑难解决方法(0)

接受多个Id值的T-SQL存储过程

是否有一种优雅的方法来处理将id列表作为参数传递给存储过程?

例如,我希望我的存储过程返回的部门1,2,5,7,20.在过去,我已经通过逗号分隔的id列表,如下面的代码,但感觉真的很脏.

我认为SQL Server 2005是我唯一适用的限制.

create procedure getDepartments
  @DepartmentIds varchar(max)
as
  declare @Sql varchar(max)     
  select @Sql = 'select [Name] from Department where DepartmentId in (' + @DepartmentIds + ')'
  exec(@Sql)
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server stored-procedures

144
推荐指数
2
解决办法
14万
查看次数

将一组参数传递给存储过程

我需要将一个"id"的数组传递给一个存储过程,删除表中的所有行,除了与数组中的id匹配的行.

我怎么能以最简单的方式做到这一点?

sql stored-procedures sql-server-2005

74
推荐指数
4
解决办法
12万
查看次数

如何在查询中编写包含多个参数的存储过程?

我想写一个像这样的存储过程

Create Proc dbo.GetApplicantsByIDs

as

Select * from Applicants where ID in (1,2,3,4)
Run Code Online (Sandbox Code Playgroud)

如何将1,2,3作为参数传递,这些ID可能是多个.

sql t-sql sql-server sql-server-2005 sql-server-2008

4
推荐指数
1
解决办法
2326
查看次数