Member 13013885 Ответов: 1

В хранимой процедуре как хранить значения типа списка в хранимой процедуре excecute (входные данные мы берем в качестве значений списка флажков)


@DropDownList = 'Product'  ,(for single vales) 
@ProductName = 'name'  ,(for single vales) 
@Price = 1000 , (for single vales)
@list = '?'  (for multiple values)
@list is a list type string variable 


Что я уже пробовал:

Я пробовал для одного типа ввода ex: @list= 'M';
мне нужно несколько значений, таких как Ex: @list= 'M', 'L', 'S';
я сталкиваюсь с проблемой в предоставлении нескольких значений.

если я отдам вот так
@list = 'M', @list = 'L', @list = 'S'

Гиперссылке--
Procedure or function Stored Procedure has too many arguments specified.

CHill60

Что вы пытаетесь сделать со списком?

1 Ответов

Рейтинг:
1

CHill60

Существует несколько способов достижения этой цели в зависимости от того, что вы хотите сделать со списком в хранимой процедуре.

- Предполагая, что вы используете SQL Server 2008 или более позднюю версию, вы можете передать в пользовательскую таблицу: см. Решение от Redth на этом посту C# SQL Server-передача списка в хранимую процедуру[^]

- У вас может быть постоянная таблица в базе данных, которую вы можете заполнить перед вызовом SP.

- Вы могли бы передать CSV в качестве nvarchar параметр например М,Л,Р'. Это поддается использованию в качестве части IN предложение, но вам нужно будет построить некоторый динамический SQL, чтобы использовать его - см. Введение в динамический SQL (Часть 1) - SQLTeam.com[^]