Существует ли изящный способ обработки списка идентификаторов в качестве параметра хранимой процедуры?
Например, я хочу, чтобы департаменты 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)