Существует ли изящный способ обработки списка идентификаторов в качестве параметра хранимой процедуры?
Например, я хочу, чтобы департаменты 1, 2, 5, 7, 20 были возвращены моей хранимой процедурой. Раньше я перешел в список идентификаторов с разделителями-запятыми, например, код ниже, но чувствую себя действительно грязным.
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)
