Ошибка в коде PL / SQL и не может понять ошибку и ошибку в коде - PullRequest
0 голосов
/ 11 марта 2019
declare

sum number:=0;

count number:=0;

pnum number:=0;

temp number;

begin

for i in 1..25

loop

    temp:=i;
    count:=0;

    for j in 1..25
    loop

        if mod(i,j)=0 then
            count:=count+1;
        end if;

    end loop;

    if count=2 then
        sum:=sum+temp;
        pnum:=pnum+1;
    end if;

    exit when pnum=10;

end loop;

dbms_output.put_line(sum);

end;

Ошибка на сервере Oracle:

ORA-06550: строка 21, столбец 17: PLS-00103: обнаружен символ «+» при ожидании одного из следующих действий:

(

ORA-06512: по адресу "SYS.WWV_DBMS_SQL_APEX_180200", строка 548 ORA-06550: строка 28, столбец 25: PLS-00103: Обнаружен символ ")" при ожидании одно из следующего:

(

1 Ответ

3 голосов
/ 11 марта 2019

Вы используете зарезервированные слова SUM и COUNT; если вы измените имя вашей переменной, ваш код будет работать:

DECLARE
    vSUM                                     NUMBER := 0;

    vCOUNT                                   NUMBER := 0;

    pnum                                    NUMBER := 0;

    temp                                    NUMBER;
BEGIN
    FOR i IN 1 .. 25
    LOOP
        temp     := i;
        vCOUNT    := 0;

        FOR j IN 1 .. 25
        LOOP
            IF MOD(i, j) = 0
            THEN
                vCOUNT    := vCOUNT + 1;
            END IF;
        END LOOP;

        IF vCOUNT = 2
        THEN
            vSUM     := vSUM + temp;
            pnum    := pnum + 1;
        END IF;

        EXIT WHEN pnum = 10;
    END LOOP;

    DBMS_OUTPUT.put_line(vSUM);
END;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...