CREATE DEFINER = 'root'@'localhost'
PROCEDURE `new_proc`(
OUT wynik CHAR,
OUT ile INTEGER(11)
)
NOT DETERMINISTIC
READS SQL DATA
SQL SECURITY DEFINER
COMMENT ''
BEGIN
declare rnd DOUBLE;
DECLARE ID_element int;
declare ile_elem int;
declare wyn_zap char(20);
select max(id) INTO ile_elem from `documents`;
set ile = 0;
REPEAT
set rnd = RAND() * ile_elem;
set ID_element = rnd;
set ile = ile + 1;
select `tag` INTO wyn_zap
from `documents`
where `documents`.`id` = ID_element
limit 1;
until (wyn_zap is not NULL) end repeat;
set wynik = left(wyn_zap,1);
END;
sobota, 14 marca 2009
MySQL i procedury
Dziś zdarzyło mi się popełnić procedurę w MySQL-u. O dziwo nawet działa :) ale co mi tam, jest prosta jak budowa cepa i ma zrealizować jedno zadanie: a mianowicie wylosować jeden element z tabeli o nieciągłym numerowaniu w jak najmniejszej ilości prób. A oto Ona
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz