SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 20.10.2010 13:09:26

Герман Клюшин
Участник
Откуда: Севастополь
Зарегистрирован: 17.11.2008
Сообщений: 13

Как вернуть набор строк из хранимой процедуры.

Есть хранимая процедура. Она должна возващять результат SELECTa - набор строк. Хотелось бы перед этим весь этот запрос пройти в цикле, и посчитать некоторые поля, и потом вернуть некоторое кол-во строк.
Как это сделать?
Понятно, что нужно открыть курсор, брать по одной записи, но как именно возвращать данные?


Иисус - Бог неба и земли!

Неактивен

 

#2 20.10.2010 13:22:01

byterus
ISV
MySQL Ready Partner
Зарегистрирован: 02.02.2010
Сообщений: 39

Re: Как вернуть набор строк из хранимой процедуры.

Через временную таблицу. Ее нужно создать в процедуре, добавить туда нужные записи, а потом сделать селект из нее.

Неактивен

 

#3 20.10.2010 13:51:04

Герман Клюшин
Участник
Откуда: Севастополь
Зарегистрирован: 17.11.2008
Сообщений: 13

Re: Как вернуть набор строк из хранимой процедуры.

Спасибо, еще один вопросик: как создавать курсор с переменной?
То есть внутри процедуры вычисляется переменная zones и мне потом надо выбрать

SELECT ...
WHERE id FIND_IN_SET(zones)

Однако курсор получается у меня декларируется до того, как посчитается значение zones.
Мускуль умеет подставлять переменные в курсор при открытии?


Иисус - Бог неба и земли!

Неактивен

 

#4 20.10.2010 15:25:24

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5833

Re: Как вернуть набор строк из хранимой процедуры.

Умеет. В чем легко вы можете убедиться, выполнив такую процедуру.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson