powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возможно ли возвращение табличной переменной из процедуры
13 сообщений из 13, страница 1 из 1
Возможно ли возвращение табличной переменной из процедуры
    #39901186
AlexKM2020
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, коллеги.
Никак не могу найти в интернете ...
Ситуация такая:
Есть SQL проца, возвращает в C# настроечные данные.
Но ещё и
Код: sql
1.
select

, как табличную переменную; с этими простыми переменными хотелось бы получать.
Для того в SQL сделал табличный тип данных, !!!НО не могу этой табличной переменной сказать OUTPUT, ругается ...

Код: sql
1.
2.
3.
4.
5.
create procedure [schema1].[sp_Settings_Get]
                         @dataTbl [schema1].TableType readonly output -- вот здесь ругается ...
                        ,@tryToTakeValue int = null output
as
.......



Выход есть, просто написать ещё одну процу, но это не комильфо.

Коллеги, есть варианты, соображения?

Заранее спасибо.
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901197
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKM2020
Код: sql
1.
@dataTbl [schema1].TableType readonly output -- вот здесь ругается ...

Вот же, написано: readonly
Убрать readonly нельзя, в сиквеле табличные параметры запрещено менять. Не шмогли :-(
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901199
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, желаемое невозможно.
Во-вторых, из процедур и так можно возвращать сколько угодно наборов данных, написав там обычные select'ы.
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901202
AlexKM2020
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg, SQL ругается не на readonly, а на output

invm, спасибо.
но, это именно селектами, а надо OUTPUT, та как передача в C#.
Значит буду просто писать вторую процу, она как раз будет делать один селект.

Спасибо, коллеги.
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901205
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKM2020
alexeyvg, SQL ругается не на readonly, а на output
Да, я вам про это и написал.
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901209
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKM2020
но, это именно селектами, а надо OUTPUT, та как передача в C#.

а в чем проблема в C# перебрать resultset-ы?
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901210
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKM2020
но, это именно селектами, а надо OUTPUT, та как передача в C#.

И что же мешает в C# получить выборку из ХП? Это как раз в MSSQL с этим проблемы - есть ряд ситуаций, когда нельзя сделать insert into .. exec. А в C# это делается абсолютно естественным образом для любого количество резалтсетов.
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901216
AlexKM2020
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны, да, я так и делал, одной большой выборкой, но это не здорово, много лишнего, потому просто двумя процами придётся...
А мелкомягким есть повод задуматься над возможностью возвращать табличные пользовательские типы данных...
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901217
Фотография court
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKM2020,

в ХМЛ сериализируй и возвращай параметром
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901219
Фотография Shakill
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKM2020
Сон Веры Павловны, да, я так и делал, одной большой выборкой, но это не здорово, много лишнего, потому просто двумя процами придётся...

да почему одной большой, вам же говорят, что процедура может сделать несколько отдельных селектов, т.е. на выходе будет несколько отдельных резалтсетов и c#-приложение может их всех получить по отдельности
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901221
AlexKM2020
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, спасибо за варианты!!!
Всё по делу!
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901425
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexKM2020,

используйте функцию для получения данных, а не процедуру. В результате получите: известный набор возвращаемых атрибутов, возможность фильтра, сортировки, группировки, объединения результата с другими запросами. И еще много чего ещё.
...
Рейтинг: 0 / 0
Возможно ли возвращение табличной переменной из процедуры
    #39901566
Фотография Mind
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
AlexKM2020,

используйте функцию для получения данных, а не процедуру. В результате получите: известный набор возвращаемых атрибутов, возможность фильтра, сортировки, группировки, объединения результата с другими запросами. И еще много чего ещё.
В C#??
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Возможно ли возвращение табличной переменной из процедуры
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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