Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle 我的重载函数游标PLS-00103出错_Oracle - Fatal编程技术网

Oracle 我的重载函数游标PLS-00103出错

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)约束主

创建表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)
约束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;