Oracle 我的重载函数游标PLS-00103出错
创建表mm_student (sid编号(8,0)约束PK_mm_student_sid主键 约束NN_mm_student_sid不为空, sname VARCHAR2(50)默认值“未知” 约束NL_mm_student_sname NULL, 性别特征(1)限制性条件学生性别最惠国待遇 勾选('M','F','N')中的性别) 约束NN_mm_学生性别不为空, edate日期默认系统日期 约束NN_mm_student_edate不为空) 创建表格mm_课程 (cid CHAR(8)约束主键\u mm\u路线\u cid主键 约束NN_mm_course_cid不为空, cname VARCHAR2(50) 约束NL_mm_course_cname NULL, 位置VARCHAR2(50) 约束NL_mm_路线位置为空, C成本编号(6,2)默认值575.00 约束NL_mm_cost NULL) 创建表mm_坡度 (sid编号(8,0) 约束NN_mm_等级_sid不为空, 约束FK_mm_grade_sid外键(sid)引用mm_学生(sid), cid字符(8)Oracle 我的重载函数游标PLS-00103出错,oracle,Oracle,创建表mm_student (sid编号(8,0)约束PK_mm_student_sid主键 约束NN_mm_student_sid不为空, sname VARCHAR2(50)默认值“未知” 约束NL_mm_student_sname NULL, 性别特征(1)限制性条件学生性别最惠国待遇 勾选('M','F','N')中的性别) 约束NN_mm_学生性别不为空, edate日期默认系统日期 约束NN_mm_student_edate不为空) 创建表格mm_课程 (cid CHAR(8)约束主
约束NN_mm_等级cid不为空, 约束FK_mm_等级cid外键(cid)引用mm_课程(cid),
标记编号(5,2) 约束CK_mm_坡度_范围 勾选(标记在0和100之间) 约束NN_mm_等级标记不为空, 约束主键(sid、cid) 行/列错误
16/37 PLS-00103:在预期以下情况时遇到符号“TO”: (+case mod new null) 继续平均计数当前最大最小优先sql STDEV和 对所有合并时间时间戳间隔日期执行差异
管道函数名是
TO_CHAR
,而不是TO.CHAR
对于一个函数,一个拼写错误,是的。两次?可能也是一个拼写错误。整个讨论应该/将被删除。
CREATE OR REPLACE FUNCTION FN_Show_Course_Name_And_Mark
(P_SID NUMBER)
RETURN VARCHAR2
AS
V_CNAME VARCHAR2(50);
V_MARK NUMBER(5,2);
V_OUTPUT VARCHAR2(1500);
CURSOR C_CNAMES IS SELECT C.CNAME, G.MARK
FROM mm_course C, mm_grade G
WHERE G.SID = P_SID AND
G.CID = C.CID;
BEGIN
OPEN C_CNAMES;
FETCH C_CNAMES INTO V_CNAME, V_MARK;
IF C_CNAMES %NOTFOUND THEN
V_OUTPUT := 'The Student' ||TO.CHAR(P_SID)||'did not take any courses';
ELSE
WHILE C_CNAMES %FOUND LOOP
V_OUTPUT := V_OUTPUT || V_CNAME||'##'||TO.CHAR(V_MARK)||'##';
FETCH C_CNAMES INTO V_CNAME, V_MARK;
END LOOP;
END IF;
CLOSE C_CNAMES;
RETURN V_OUTPUT;
END FN_Show_Course_Name_And_Mark;
/
SHOW ERRORS;