Заполнение таблицы sql, случайными числами = 100%

Заполнить таблицу candidates случайными именами кандидатов из 10 символов и случайными их результатами на выборах в процентах проголосовавших. В сумме все результаты должны дать 100 процентов

declare 
 I integer;
begin
for i in 1..4 loop
    insert into candidates(name, prc) 
    values (DBMS_RANDOM.STRING('a', 10), DBMS_RANDOM.VALUE())
--добавить что-то типа sum (3,8,12,4 - значения из dbms_random)*100/27 --100%
    end loop;
end;

Ответы (1 шт):

Автор решения: Magomed Aliev
    begin
        FOR i IN 1..4 LOOP
    insert into candidates(name, prc ) 
        values (DBMS_RANDOM.STRING('a', 10), DBMS_RANDOM.VALUE()*10);
        end loop;
    end;
    declare 
    v_sum_prc number;
    begin
        select sum(candidates.prc) into v_sum_prc from candidates;
        update candidates set candidates.prc = candidates.prc * 100 / v_sum_prc;
    end;
→ Ссылка