powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Множество параметров OUT в хранимой процедуре.
7 сообщений из 7, страница 1 из 1
Множество параметров OUT в хранимой процедуре.
    #38810940
Zhekius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем!
Возникла проблема с хранимой процедурой.
Задача: по нескольким связанным между собой таблицам необходимо сделать сборочный отчет.
Я решил все сделать посредством ХП, а именно: по возможности, сделал 4 независимые выборки на интересующие меня параметры посредством команды Select INTO out1, out2 и т.д. В итоге получилось 10 выходных параметров Out1, out2,....out10. Все результаты имеют только 1 строку.
Вызываю в SQL запросе команду Call MyProc (@out1,@out2,...,@out10);
и далее Select (@out1,@out2,...,out10)
Выдает ошибку Operand should contain 1 colomn(s).
Естественно, делаю Select (@outX), по одному всё показывает.
Вопрос: Как вывести все 10 результатов OUT в одной строчке?
...
Рейтинг: 0 / 0
Множество параметров OUT в хранимой процедуре.
    #38810947
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уберите круглые скобки из селекта. Зачем они там?
...
Рейтинг: 0 / 0
Множество параметров OUT в хранимой процедуре.
    #38810950
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZhekiusДобрый день всем!
Возникла проблема с хранимой процедурой.
Задача: по нескольким связанным между собой таблицам необходимо сделать сборочный отчет.
Я решил все сделать посредством ХП, а именно: по возможности, сделал 4 независимые выборки на интересующие меня параметры посредством команды Select INTO out1, out2 и т.д. В итоге получилось 10 выходных параметров Out1, out2,....out10. Все результаты имеют только 1 строку.
Вызываю в SQL запросе команду Call MyProc (@out1,@out2,...,@out10);
и далее Select (@out1,@out2,...,out10)
Выдает ошибку Operand should contain 1 colomn(s).
Естественно, делаю Select (@outX), по одному всё показывает.
Вопрос: Как вывести все 10 результатов OUT в одной строчке?

если
$sql = 'select ....' ;

$result = mysql_query($sql);

$data = mysql_fetch_all();

То если в тексте хранимки написать этот же селект, то

$result = mysql_query('call sp_my_proc();');
$data = mysql_fetch_all();

получим теже данные
...
Рейтинг: 0 / 0
Множество параметров OUT в хранимой процедуре.
    #38810976
Zhekius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторУберите круглые скобки из селекта. Зачем они там?
Т.е. Select @out1, @out2....out3 ?. В Мануалах везде скобочки. В чем разница?
авторalex564657498765453
Со скелетом, попробую.
У меня процедура типа " Select Count(*) From Table 1 into OUT1; Select Sum (Field1) From Table2 into OUT2;
Select Sum(Filed3)+Sum(Field5), SUM(Field2)\Sum(Field1) From Table3 into OUT3; и т.д.

Вот и пытаюсь вывести в итоге всё одной строчкой.
...
Рейтинг: 0 / 0
Множество параметров OUT в хранимой процедуре.
    #38810988
Zhekius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoft Уберите круглые скобки из селекта. Зачем они там?
Действительно, заработало, как я хотел.

В итоге Call My_Proc (@OUT1,@OUT2,@OUT3,@OUT4,@OUT5,...,@OUT10 );
Select @OUT1,@OUT2,@OUT3,@OUT4,@OUT5,...,@OUT10

дало соответствующий результат.
Спасибо.
...
Рейтинг: 0 / 0
Множество параметров OUT в хранимой процедуре.
    #38811051
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZhekiusВ Мануалах везде скобочки. В чем разница?Без скобок - это просто список SELECT. Со скобками - попытка построить выражение, которая, естественно, не удается, т.к. содержимое скобок не является правильным выражением.
Можете ссылку дать на такой мануал?
...
Рейтинг: 0 / 0
Множество параметров OUT в хранимой процедуре.
    #38812944
Zhekius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MikSoftМожете ссылку дать на такой мануал?
Посмотрел мануалы по синтаксису. Ваша правда. Несколько примеров, но везде без скобок и один параметр
пр. Call (@a1)
Select @a1.
Я сам, видать, не догадался. Думал по старинке, исходил из добрых побуждений, что при перечислении выходных параметров нужно использовать скобочки )
Спасибо.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Множество параметров OUT в хранимой процедуре.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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