Oracle PLS-00103:遇到符号“;完";

Oracle PLS-00103:遇到符号“;完";,oracle,plsql,oracle-apex,Oracle,Plsql,Oracle Apex,我是Oracle PL/SQL的新手,当我尝试在Oracle APEX中运行此代码时,我在标题第30行遇到了错误 代码如下: CREATE OR REPLACE PROCEDURE enter_student_grade (p_num_grade IN class_assessments.numeric_grade%TYPE, p_class_assessment_id IN class_assessments.class_assessment_id%TYPE,

我是Oracle PL/SQL的新手,当我尝试在Oracle APEX中运行此代码时,我在标题第30行遇到了错误

代码如下:

CREATE OR REPLACE PROCEDURE enter_student_grade 
    (p_num_grade IN class_assessments.numeric_grade%TYPE, 
     p_class_assessment_id IN class_assessments.class_assessment_id%TYPE,
     p_class_id IN class_assessments.class_id%TYPE,
     p_stu_id IN class_assessments.stu_id%TYPE, 
     p_assessment_id class_assessments.assessment_id%TYPE,
     p_date_turned_in IN DATE := SYSDATE) IS

v_max_id class_assessments.class_assessment_id%TYPE := 0;
v_max_attempts NUMBER(1,0):= 0;
BEGIN


    SELECT max(class_assessment_id)+1 INTO v_max_id
    FROM class_assessments;

    SELECT count(stu_id) INTO v_max_attempts FROM class_assessments WHERE stu_id = p_stu_id AND assessment_id = p_assessment_id

    IF  v_max_attempts < 3 THEN 

        INSERT INTO class_assessments
        (class_assessment_id,date_turned_id,numeric_grade,letter_grade,class_id,stu_id,assessment_id)
        VALUES
        (v_max_id,p_date_turned_in,p_num_grade,convert_grade(p_num_grade),p_class_id,p_stu_id,p_assessment_id);
        commit;
    ELSE
        dbms_output.put_line('ERROR: Current student has reached maximum number of attempts for this assessment');
    END IF;

END enter_student_grade;
创建或替换程序输入学生成绩
(课堂评估中的p_num_等级。数值等级%类型,
p_class_assessment_id在class_assessment中。class_assessment_id%类型,
课程评估中的课程id。课程id%类型,
班级评估中的学生id。学生id%类型,
p_评估id类别评估。评估id%类型,
p_日期_上交日期:=SYSDATE)为
v_max_id class_assessment.class_assessment_id%类型:=0;
v_max_尝试次数(1,0):=0;
开始
在v_max_id中选择max(class_assessment_id)+1
从班级评估;
从类别评估中选择计数(stu_id)到v_max_尝试次数,其中stu id=p_stu id和assessment_id=p_assessment_id
如果v_max_尝试次数小于3,则
在课堂评估中插入
(班级评估id、日期id、数字等级、字母等级、班级id、学生id、评估id)
价值观
(v_max_id、p_date_Up_、p_num_grade、convert_grade(p_num_grade)、p_class_id、p_stu id、p_assessment_id);
犯罪
其他的
dbms_output.put_line('错误:当前学生已达到此评估的最大尝试次数');
如果结束;
结束输入学生成绩;
我不知道,哪里可能是这个错误的根源。 感谢您的帮助。
谢谢

符号
在第二个SELECT语句之后(在IF之前)缺失。

噢,真是个愚蠢的错误。非常感谢。我一定要睡一觉:)问题解决了