CREATE OR REPLACE PROCEDURE pr_procenty
(
)
BEGIN
declare @rozklad double;
declare @suma integer;
declare @liczba integer;
declare @wartosc_losowa integer;
declare cur_rozklad cursor for
SELECT WartoscLosowa, LiczbaLosowan
FROM Rozklad
ORDER BY WartoscLosowa;
SELECT SUM(LiczbaLosowan) INTO @suma
FROM Rozklad;
open cur_rozklad;
etykieta_loop:
loop
fetch next cur_zawodnicy into @wartosc_losowa, @liczba;
if (sqlcode<>0) then leave etykieta_loop endif;
set @rozklad = (@liczba/@suma) * 100;
UPDATE Rozklad
set RozkladProcentowy = @rozklad
WHERE WartoscLosowa = @wartosc_losowa;
end loop etykieta_loop;
close cur_rozklad;
END;
Q1JFQVRFIE9SIFJFUExBQ0UgUFJPQ0VEVVJFIHByX3Byb2NlbnR5CigKCikKCkJFR0lOCiBkZWNsYXJlIEByb3prbGFkIGRvdWJsZTsKIGRlY2xhcmUgQHN1bWEgaW50ZWdlcjsKIGRlY2xhcmUgQGxpY3piYSBpbnRlZ2VyOwogZGVjbGFyZSBAd2FydG9zY19sb3Nvd2EgaW50ZWdlcjsKCiBkZWNsYXJlIGN1cl9yb3prbGFkIGN1cnNvciBmb3IKICBTRUxFQ1QgV2FydG9zY0xvc293YSwgTGljemJhTG9zb3dhbgogICBGUk9NIFJvemtsYWQKICAgT1JERVIgQlkgV2FydG9zY0xvc293YTsKCiBTRUxFQ1QgU1VNKExpY3piYUxvc293YW4pIElOVE8gQHN1bWEKICBGUk9NIFJvemtsYWQ7CgoKCiBvcGVuIGN1cl9yb3prbGFkOwogCiBldHlraWV0YV9sb29wOgogbG9vcAogIGZldGNoIG5leHQgY3VyX3phd29kbmljeSBpbnRvIEB3YXJ0b3NjX2xvc293YSwgQGxpY3piYTsKICBpZiAoc3FsY29kZTw+MCkgdGhlbiBsZWF2ZSBldHlraWV0YV9sb29wIGVuZGlmOwoKICBzZXQgQHJvemtsYWQgPSAoQGxpY3piYS9Ac3VtYSkgKiAxMDA7CgoKICBVUERBVEUgUm96a2xhZAogICBzZXQgUm96a2xhZFByb2NlbnRvd3kgPSBAcm96a2xhZAogICBXSEVSRSBXYXJ0b3NjTG9zb3dhID0gQHdhcnRvc2NfbG9zb3dhOwoKCiBlbmQgbG9vcCBldHlraWV0YV9sb29wOwogY2xvc2UgY3VyX3JvemtsYWQ7CgpFTkQ7