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