очень просто - и очень неправильно. Но даже если вы решите проблему в своем коде, это будет очень медленно. Подробнее см. Ссылку «Действительно медленные методы» в принятом ответе.

ли изящный способ обработки передачи списка идентификаторов в качестве параметра хранимой процедуре?

Например, я хочу, чтобы отделы 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)

Ответы на вопрос(6)

Ваш ответ на вопрос