#oracle #plsql #oracle-apex
#Oracle #plsql #oracle-apex
Вопрос:
Мой код
CREATE OR REPLACE proc_grade IS
v varchar2(20);
c varchar2(20);
t integer(10);
x integer(10);
CURSOR s IS
SELECT total_marks,name,roll_no FROM STUD_MARKS ORDER BY roll_no;
BEGIN
OPEN s;
LOOP
FETCH s INTO x,c,t;
BEGIN
v:=grade(x);
INSERT INTO result VALUES(t,c,v);
dbms_output.put_line('ROLL_NO : '||t||'NAME: '||c||' CLASS: '||v);
END;
EXIT WHEN s%notfound;
END LOOP;
CLOSE s;
END;
Ошибка, которую я получаю, заключается в следующем:
ORA-00922: отсутствует или недопустимый параметр
ORA-06512: в «SYS.WWV_DBMS_SQL_APEX_200100», строка 581
ORA-06512: в «SYS.DBMS_SYS_SQL», строка 1658
ORA-06512: в «SYS.WWV_DBMS_SQL_APEX_200100», строка 567
ORA-06512: в «APEX_200100.WWV_FLOW_DYNAMIC_EXEC», строка 2127
-
c varchar2(20);
-
t целое число (10);
-
x целое число (10);
-
КУРСОР s НАХОДИТСЯ
Ответ №1:
Это не
CREATE OR REPLACE proc_grade
но
CREATE OR REPLACE PROCEDURE proc_grade
Кстати, вы могли бы сделать это проще, запустив только это вместо всего написанного вами PL / SQL.
INSERT INTO result
SELECT roll_no, name, grade (total_marks)
FROM stud_marks;