Plsql 运行pl/sql程序查找前10个素数之和时出错 声明 计数; 质数; 总数; i编号; j数; 开始 总和:=2; 计数:=0; 素数:=1; i:=3; 当计数小于10时 环 j:=i/2; 为k在2。。J 环 如果i MOD j=0 然后 素数:=0; 如果结束; 如果素数=1 然后 总和:=总和+i; 计数:=计数+1; 如果结束; 端环; i:=i+1; 端环; DBMS_OUTPUT.put_行(总和); 结束; /

Plsql 运行pl/sql程序查找前10个素数之和时出错 声明 计数; 质数; 总数; i编号; j数; 开始 总和:=2; 计数:=0; 素数:=1; i:=3; 当计数小于10时 环 j:=i/2; 为k在2。。J 环 如果i MOD j=0 然后 素数:=0; 如果结束; 如果素数=1 然后 总和:=总和+i; 计数:=计数+1; 如果结束; 端环; i:=i+1; 端环; DBMS_OUTPUT.put_行(总和); 结束; /,plsql,Plsql,我想计算前10个素数的和。我编写了上述代码,但当我尝试执行它时,它会抛出一个错误: ORA-06550:第29行第12列:PLS-00103:遇到符号 “+”应为以下情况之一:(此错误对应 到我增加sum值的那一行 COUNT和SUM是保留关键字,不能选择作为变量名 添加前缀“v”: DECLARE COUNT NUMBER; prime NUMBER; SUM NUMBER; i NUMBER; j NUMBER;

我想计算前10个素数的和。我编写了上述代码,但当我尝试执行它时,它会抛出一个错误:

ORA-06550:第29行第12列:
PLS-00103:遇到符号 “+”应为以下情况之一:(此错误对应 到我增加sum值的那一行


COUNT
SUM
是保留关键字,不能选择作为变量名

添加前缀“v”:

DECLARE
    COUNT   NUMBER;
    prime   NUMBER;
    SUM     NUMBER;
    i       NUMBER;
    j       NUMBER;
BEGIN
    SUM := 2;
    COUNT := 0;
    prime := 1;
    i := 3;

    WHILE COUNT < 10
    LOOP
        j := i / 2;

        FOR k IN 2 .. j
        LOOP
            IF i MOD j = 0
            THEN
                prime := 0;
            END IF;

            IF prime = 1
            THEN
                SUM := SUM + i;
                COUNT := COUNT + 1;
            END IF;
        END LOOP;

        i := i + 1;
    END LOOP;

    DBMS_OUTPUT.put_line (SUM);
END;
/
DECLARE
    vCOUNT   NUMBER;
    prime   NUMBER;
    vSUM     NUMBER;
    i       NUMBER;
    j       NUMBER;
BEGIN
    vSUM := 2;
    vCOUNT := 0;
    prime := 1;
    i := 3;

    WHILE vCOUNT < 10
    LOOP
        j := i / 2;

        FOR k IN 2 .. j
        LOOP
            IF i MOD j = 0
            THEN
                prime := 0;
            END IF;

            IF prime = 1
            THEN
                vSUM := vSUM + i;
                vCOUNT := vCOUNT + 1;
            END IF;
        END LOOP;

        i := i + 1;
    END LOOP;

    DBMS_OUTPUT.put_line (vSUM);
END;
/
SELECT SUM(col1) FROM mytable