SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 06.11.2009 00:16:19

antklim
Участник
Зарегистрирован: 06.11.2009
Сообщений: 1

Получение данных из хранимой процедуры с курсором

Добрый день!
Возникла следующая проблема:
Есть хранимая процедура на MySQL, в которой объявлен курсор и процедура возвращает полученные строки курсора:
SQL
delimiter |
drop procedure if exists pget_info2 |
create procedure pget_info2 ()
begin declare mheadid int;
declare mhdname char(50);
declare mhdstat char(1);

declare mnorows boolean;
declare mnmrows int default 0;

declare ckbhead cursor for
select headid, hdname, hdstat
from kbhead where headid <= 10;
declare continue handler for not found
set mnorows = true;

open ckbhead;
select found_rows() into mnmrows; the_loop: loop
fetch ckbhead
into mheadid, mhdname, mhdstat;

if mnorows then
close ckbhead;
leave the_loop;
end if;

select mheadid, mhdname, mhdstat;
end loop the_loop;

end |


В php коде хочется запросить вызов процедуры и получить весь набор данных, удовлетворяющий запросу, объявленному в курсоре.
Вот код php-скрипта:
PHP
$conn = mysql_connect('localhost', 'хххх', 'хххх', false, 65536);
mysql_select_db('хххх', $conn);

$rs = mysql_query("call pget_info2();");

while ($row = (mysql_fetch_assoc($rs)))
{
print_r($row);
echo "<br/>";
}

echo "After fetch <br/>";
mysql_close($conn);



Но данный код возвращает только первую запись из всего набора данных. Тот же самый результат и при использовании odbc коннектора.
С чем может быть связано такое поведение? Может для хранимых процедур необходимо использовать другие методы соединения и получения информации?

P.S. При использовании хранимой процедуры вида: SQL
delimiter |
drop procedure if exists pget_info2 |
create procedure pget_info2 ()
begin select headid, hdname, hdstat
from kbhead where headid <= 10;
end |


php скрипт отрабатывает корректно и возвращает весь набор данных

Заранее спасибо за ответы

Неактивен

 

#2 06.11.2009 09:03:35

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

Re: Получение данных из хранимой процедуры с курсором

Неактивен

 

Board footer

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