Вынікі MySQL Працэдура некалькі

Асноўны ideea з'яўляецца тое, што, калі я тэлефаную працэдуру я хачу, каб атрымаць набор дадзеных, а не толькі адно значэнне (усталяваўшы вынікі будзе INT і выбар COUNT ( ідэнтыфікатар) , напрыклад). Я хацеў бы ведаць, як змяніць гэтую працэдуру, каб атрымаць некалькі значэнняў ...

DELIMITER //
 CREATE PROCEDURE getnames(IN id_in INT,OUT results ???)
    BEGIN
        set results=(select name from people where id>id_in);
    END //
 DELIMITER ;
0

3 адказы

Калі я ніколі не зразумеў, то вы павінны проста быць у стане змяніць сваю працэдуру наступным

DELIMITER //
  CREATE PROCEDURE getnames(IN id_in INT)
    BEGIN
      select name from people where id>id_in;
    END //
DELIMITER ;

Гэта проста вяртае вынікі запыту на выбарку, у гэтым выпадку мноства імёнаў.

2
дададзена
Я знайшоў артыкул якім паказана, што можна выкарыстоўваць курсоры ... але гэта было для Oracle ...
дададзена аўтар ka_lin, крыніца

Параметры ў MySQL не могуць быць аб'ектамі або табліцы. Калі вы хочаце вярнуць некалькі значэнняў, а затым паспрабаваць запоўніць часовую табліцу або проста запусціць ЗЕЬЕСТ ў парадку і чытанне набору дадзеных у дадатку.

1
дададзена

Праблема тут заключаецца ў тым, што MySQL дазваляе толькі тыпы дадзеных слупкоў табліцы ў захоўваемых працэдурах. На жаль, гэта не адносіцца да якой-небудзь масіў, спіс або тыпу калекцыі.

Аналагічнае пытанне мае