Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа с процедурой, имеющей несколько параметров типа Value_n, где n от 1 до 100 / 4 сообщений из 4, страница 1 из 1
18.11.2013, 15:59
    #38468760
Kunj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с процедурой, имеющей несколько параметров типа Value_n, где n от 1 до 100
Добрый день.

Есть процедура
Код: sql
1.
2.
3.
4.
5.
CREATE PROCEDURE procedure
@Text nvarchar(2000) OUT,
@Value_1 nvarchar(50) = NULL, @Value_2 nvarchar(50) = NULL, @Value_3 nvarchar(50) = NULL, ..., @Value_100 nvarchar(50) = NULL
AS
--Тело


, в которой нужно изменить каждый входной параметр (добавить к строке запятую), если она не пустая (иначе ='') и соединить все эти изменённые строки в одну выходную.

Вопрос, как это реализовать в цикле?
...
Рейтинг: 0 / 0
18.11.2013, 16:16
    #38468795
Shakill
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с процедурой, имеющей несколько параметров типа Value_n, где n от 1 до 100
Kunj,

никак. вместо ста однотипных параметров используйте один параметр табличного типа, например
...
Рейтинг: 0 / 0
19.11.2013, 00:36
    #38469268
SandalTree
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с процедурой, имеющей несколько параметров типа Value_n, где n от 1 до 100
KunjДобрый день.

Есть процедура
Код: sql
1.
2.
3.
4.
5.
CREATE PROCEDURE procedure
@Text nvarchar(2000) OUT,
@Value_1 nvarchar(50) = NULL, @Value_2 nvarchar(50) = NULL, @Value_3 nvarchar(50) = NULL, ..., @Value_100 nvarchar(50) = NULL
AS
--Тело


, в которой нужно изменить каждый входной параметр (добавить к строке запятую), если она не пустая (иначе ='') и соединить все эти изменённые строки в одну выходную.

Вопрос, как это реализовать в цикле?

Что реализовать в цикле?

Если вы уже накопипастили 100 параметров кто вам мешает накопипастить 100 соединений строк?

И кстати. Процедура может запросто гакнуться. У вас возможный выход по размеру 100*50 = 5000 символов, а выходная переменная только 2000.

И кстати, пересмотрите всю концепцию.
Нафига вам вообще процедура если вы на клиенте создаёте вызов, который сам по себе дороже конкатенации на том-же клиенте?
...
Рейтинг: 0 / 0
19.11.2013, 09:12
    #38469392
Алексей Ку.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с процедурой, имеющей несколько параметров типа Value_n, где n от 1 до 100
Kunj,

Для проверки на null используйте функцию ISNULL.
Может строки можно всё-таки на клиенте объединять?
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа с процедурой, имеющей несколько параметров типа Value_n, где n от 1 до 100 / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]