Я пытаюсь передать параметр строки с несколькими значениями в параметр типа таблицы в хранимой процедуре SQL Server 2012. Я вставляю этот код в набор данных SSRS:
DECLARE @mylist clinic_list_tbltype
INSERT @mylist(n) VALUES (@pm_ChooseClinics)
EXEC sp_Skillset_Summary_With_Callbacks_Report @mylist, @pm_ChooseInterval, @pm_StartDateTime, @pm_EndDateTime
clinic_list_tbltype - это тип таблицы, который я создал с одним полем varchar (50) с именем "n". Я могу вызвать эту хранимую процедуру из SSMS o.k. (и он возвращается очень быстро):
DECLARE @mylist clinic_list_tbltype
INSERT @mylist(n) VALUES ('clinicA'), ('clinicB')
EXEC sp_Skillset_Summary_With_Callbacks_Report @mylist, 'Daily', '6/3/2014', '6/9/2014'
Я могу работать в SSRS только для одной клиники (но очень медленной), но если я попробую более одного, это даст ошибку, говоря, что
в инструкции INSERT меньше столбцов, чем указано в предложении Values
. Даже работает для одного clnic, он работает, но для выполнения запроса в SSMS требуется очень много времени. Как 2 минуты против 1 секунды. Должно быть, потому что я прохожу ( "clinicA", "clinicB" ) вместо ( "clinicA" ) ( "clinicB" ).
Как сделать?