PROCEDURE view_course_home (c_code_in VARCHAR2) 
    IS
      cursor get_course_detail_cur
      is
        select c.C_CODE,
      c.C_NAME,
      c.C_DESCRIPTION,
               c.C_START,
               c.C_END,
      c.C_BOOK,
      c.C_NOTES,
      c.C_CREDITS,
      c.C_STUDY_TIME,
      c.C_PROG,
               t.T_ID,
      t.T_FNAME,
      t.T_NAME,
      t.T_EMAIL,
      t.T_OFFICE,
      t.T_NOTES,
      t.T_PHONE
         from COURSES c, TUTORS t
         where c.C_TUTOR = t.T_ID;
         and   c.C_CODE = TO_NUMBER(c_code_in);请问TO_NUMBER(c_code_in)是什么意思?在这之前的procedure code, 我是做了一段LOOP, LOOP出来了这位老师所教的几门课的课名代码----C_CODE!所以这个c_code_in中的IN表示什么意思啊?谢谢各位高手指教!先谢过!

解决方案 »

  1.   

    c_code_in只是个用来做查询条件的字符串,根据你的测试结果,估计代入的应该是教师编号之类的东西,也就是个可以唯一标识某个教师的关键字,然后就可以关联出该教师的所有授课信息
      

  2.   

    谢谢楼上帅哥答复!可是如果我去掉(c_code_in VARCHAR2)和c.C_CODE = TO_NUMBER(c_code_in); 在网页上就可以显示我ORACLE数据库里的第一条course 数据和tutor数据!可是有些教师不止教一科,所以我想用TO_NUMBER(c_code_in) 逐个区每条数据 INSERT或是UPDATE!可是加上(c_code_in VARCHAR2)和c.C_CODE = TO_NUMBER(c_code_in); 就会出现Error 6550 calling procedure:ORA-06550: line 2, column 3:
    PLS-00306: wrong number or types of arguments in call to 'UPDATE_CLASS_LIST'
    ORA-06550: line 2, column 3:
    PL/SQL: Statement ignored
    麻烦帅哥再帮忙解释一下!
      

  3.   

    各位大侠高手帮忙看看!小弟先谢过了!这是完整CODE!
    CREATE OR REPLACE PACKAGE BODY WEBCOURSE.WEBCOURSE_REPORT
    AS
    v_error VARCHAR2(200); 
    v_message VARCHAR2(100);
    userid_cki owa_cookie.cookie;
    username_cki owa_cookie.cookie;
    session_cki owa_cookie.cookie;
    v_session WEBCOURSE.LOGIN_AUDIT.SESSION_KEY%TYPE;
    v_userid WEBCOURSE.WEBUSERS.USERID%TYPE;
    v_username WEBCOURSE.WEBUSERS.USERNAME%TYPE;------------------------------------------PROCEDURE LOG_IN(user_in WEBUSERS.USERID%TYPE, userpw_in WEBUSERS.PASSWORD%TYPE)
    ISv_user_name WEBUSERS.USERNAME%TYPE;BEGINselect userid, username
    into v_userid, v_username
    from WEBUSERS
    where USERID = upper(user_in)
    and PASSWORD = userpw_in; --set a cookie, I just try to this things, because I'm not reelly understand yet.
    --owa_util.mime_header ('text/html', FALSE), this package from sys.package.owa_util.
    OWA_COOKIE.SEND ('USERID',v_userid);
    OWA_COOKIE.SEND ('USERNAME',v_username);
    OWA_COOKIE.SEND ('I_SESSION', v_session);
    --OWA_COOKIE.SEND ('C_CODE', v_code);
    owa_util.redirect_url('webcourse.webcourse_report.course_list');
    EXCEPTION 
    WHEN NO_DATA_FOUND THEN
    htp.HTMLOPEN;
    htp.HEADOPEN; 
    v_error := substr(SQLERRM, 1, 200);
    INSERT INTO PROJECT.ACCESS_AUDIT VALUES (user_in, v_error, 'Incorrect log_in', sysdate, '');
    HTP.P('<p>You have supplied a wrong username or password, please try again.</p> ');
    HTP.P('<p>Click <a href="http://www.iteb.co.nz/dpls/ited/">here</a> to go back</p>'); 
    htp.BODYCLOSE;
    htp.HTMLCLOSE; 
    WHEN OTHERS THEN
    htp.HTMLOPEN;
    htp.HEADOPEN;
    v_error := substr(SQLERRM, 1, 200);
    INSERT INTO PROJECT.ACCESS_AUDIT VALUES (user_in, v_error, 'log_in', sysdate, '');
    HTP.P('Sorry, an error has occurred: '||v_error);
    htp.BODYCLOSE;
    htp.HTMLCLOSE; 
    END;----------------------------------------------------------------PROCEDURE course_list --(v_message VARCHAR2)
    IS
    cursor get_courses is
    select c_code, c_tutor, c_name
    from courses
    where v_userid = c_tutor
    order by c_code asc;BEGIN
    owa_util.mime_header ('text/html', FALSE);
    --session_cki := owa_cookie.GET('I_SESSION');
    username_cki := owa_cookie.GET('USERNAME');
    userid_cki := owa_cookie.GET('USERID');
    --code_cki := owa_cookie.GET('CODE');
    owa_util.http_header_close;
    --v_session := session_cki.vals(session_cki.num_vals);
    v_userid := userid_cki.vals(userid_cki.num_vals);
    v_username := username_cki.vals(username_cki.num_vals);
    --v_code := code_cki.vals(code_cki.num_vals);htp.p('<!doctype html public "-//w3c//dtd html 4.0 transitional//en">');
    htp.HTMLOPEN;
    htp.HEADOPEN;htp.p('<meta http-equiv="Pragma" content="no-cache"/> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
    <title>ITEB - Admin Web</title><LINK rel="stylesheet" TYPE="text/css" href="/dpls/ited-css/style1.css"/>');htp.HEADCLOSE;
    htp.BODYOPEN;htp.p('<div id="banner-home">
    <div CLASS="bannermain">
    <img src="/dpls/ited-images/logo2.jpg" alt="Waikato Institute of Technology" width="450" height="75"/> 
    </div> 
    </div>');
    htp.p('<div id="Header"><a href="webcourse.webcourse_report.home_list">ITEB.CO.NZ</a></div>');
    htp.p('<div id="Header2">
    <a> &gt; </a><a href="../ited/xmlproject.HOME">Login</a>
                   
               
    </div>');htp.p('<div id="Menu">
    <!--login--> 
    <div CLASS="menu"> 
    <FORM onsubmit="insert(event)" name="logform" action="../ited/log_in_md5" method="GET">
    <TABLE border="0" cellpadding="1px" vspace="0"> 
    <tr><p><h5>Welcome: '||v_username||'</h5><SIZE="20"></p></tr>
    <tr><td></td></tr> 
    </TABLE>
    </FORM> 
    </div>
    </div>'); htp.p('<div id="Menu" CLASS="menu">
    <!--external links-->
    <p>EXTERNAL Links</p>');
    htp.p('<a href="http://www.wintec.ac.nz/" target="_blank">Wintec</a><br/>
    <a href="http://wintec.elearning.ac.nz/moodle/" target="_blank">Moodle</a><br/>
    <a href="http://mymail.wintec.ac.nz/" target="_blank">MyMail</a><br/>
    <a href="https://student.wintec.ac.nz/arionmain/default.aspx" target="_blank">Arion</a><br/>
    <a href="show_free_projects" target="_blank">IT301 Free Projects</a><br/>
    <br/>
    <p>Partners</p>
    <a href="http://www.altova.com" target="_blank">
    <img src="/dpls/ited-images/education_120.gif" alt="Altova" title="Altova"/>
    </a>
    <br/><br/>
    </div> <div id="ContentIndex">');
    htp.p('<p><center><font color="red"><h2>'||v_message||'</h2></font></center></p>'); 
    htp.p('<h1>Admin Menu</h1>');htp.p('<p>ITEB Tutor Page is help tutor for update, create class and upload new.</p>');
    htp.p('<blockquote><li><a href="project.project_report.STUDENT_NOTES">Create new course</a></li>'); 
    ----
    FOR get_courses_rec IN get_courses
    LOOP
    htp.p('<li><a href="webcourse_web.insert_news?c_code_in='||get_courses_rec.c_code||'">News for course students '||get_courses_rec.c_code||': '||get_courses_rec.c_name||'</a></li>');
    END LOOP;----
    FOR get_courses_rec IN get_courses
    LOOP
    htp.p('<li><a href="webcourse_web.view_class_list?c_code_in='||get_courses_rec.c_code||'">The student detail for '||get_courses_rec.c_code||': '||get_courses_rec.c_name||'</a></li>');
    END LOOP;----
    FOR get_courses_rec IN get_courses
    LOOP
    htp.p('<li><a href="webcourse_report.view_class_list?c_code_in='||get_courses_rec.c_code||'">Update the class detail '||get_courses_rec.c_code||': '||get_courses_rec.c_name||'</a></li>');
    END LOOP;
    htp.p('</blockquote></p>');htp.p('<br/><hr/><hr/><p>Today is: '||to_char(sysdate,'DD-MON-YYYY HH24:MI')||'</p>'); 
    htp.BODYCLOSE;
    htp.HTMLCLOSE;EXCEPTION
    WHEN OTHERS THEN
    v_error := substr(SQLERRM, 1, 200);
    INSERT INTO PROJECT.ACCESS_AUDIT VALUES (v_username, v_error, 'course_list', sysdate, '');
    HTP.P('Sorry, an error has occurred: '||v_error); 
    END;
      

  4.   

    各位大侠高手帮忙看看!小弟先谢过了!这是完整CODE!
    CREATE OR REPLACE PACKAGE BODY WEBCOURSE.WEBCOURSE_REPORT
    AS
    v_error VARCHAR2(200); 
    v_message VARCHAR2(100);
    userid_cki owa_cookie.cookie;
    username_cki owa_cookie.cookie;
    session_cki owa_cookie.cookie;
    v_session WEBCOURSE.LOGIN_AUDIT.SESSION_KEY%TYPE;
    v_userid WEBCOURSE.WEBUSERS.USERID%TYPE;
    v_username WEBCOURSE.WEBUSERS.USERNAME%TYPE;------------------------------------------PROCEDURE LOG_IN(user_in WEBUSERS.USERID%TYPE, userpw_in WEBUSERS.PASSWORD%TYPE)
    ISv_user_name WEBUSERS.USERNAME%TYPE;BEGINselect userid, username
    into v_userid, v_username
    from WEBUSERS
    where USERID = upper(user_in)
    and PASSWORD = userpw_in; --set a cookie, I just try to this things, because I'm not reelly understand yet.
    --owa_util.mime_header ('text/html', FALSE), this package from sys.package.owa_util.
    OWA_COOKIE.SEND ('USERID',v_userid);
    OWA_COOKIE.SEND ('USERNAME',v_username);
    OWA_COOKIE.SEND ('I_SESSION', v_session);
    --OWA_COOKIE.SEND ('C_CODE', v_code);
    owa_util.redirect_url('webcourse.webcourse_report.course_list');
    EXCEPTION 
    WHEN NO_DATA_FOUND THEN
    htp.HTMLOPEN;
    htp.HEADOPEN; 
    v_error := substr(SQLERRM, 1, 200);
    INSERT INTO PROJECT.ACCESS_AUDIT VALUES (user_in, v_error, 'Incorrect log_in', sysdate, '');
    HTP.P('<p>You have supplied a wrong username or password, please try again.</p> ');
    HTP.P('<p>Click <a href="http://www.iteb.co.nz/dpls/ited/">here</a> to go back</p>'); 
    htp.BODYCLOSE;
    htp.HTMLCLOSE; 
    WHEN OTHERS THEN
    htp.HTMLOPEN;
    htp.HEADOPEN;
    v_error := substr(SQLERRM, 1, 200);
    INSERT INTO PROJECT.ACCESS_AUDIT VALUES (user_in, v_error, 'log_in', sysdate, '');
    HTP.P('Sorry, an error has occurred: '||v_error);
    htp.BODYCLOSE;
    htp.HTMLCLOSE; 
    END;----------------------------------------------------------------PROCEDURE course_list --(v_message VARCHAR2)
    IS
    cursor get_courses is
    select c_code, c_tutor, c_name
    from courses
    where v_userid = c_tutor
    order by c_code asc;BEGIN
    owa_util.mime_header ('text/html', FALSE);
    --session_cki := owa_cookie.GET('I_SESSION');
    username_cki := owa_cookie.GET('USERNAME');
    userid_cki := owa_cookie.GET('USERID');
    --code_cki := owa_cookie.GET('CODE');
    owa_util.http_header_close;
    --v_session := session_cki.vals(session_cki.num_vals);
    v_userid := userid_cki.vals(userid_cki.num_vals);
    v_username := username_cki.vals(username_cki.num_vals);
    --v_code := code_cki.vals(code_cki.num_vals);htp.p('<!doctype html public "-//w3c//dtd html 4.0 transitional//en">');
    htp.HTMLOPEN;
    htp.HEADOPEN;htp.p('<meta http-equiv="Pragma" content="no-cache"/> 
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"/>
    <title>ITEB - Admin Web</title><LINK rel="stylesheet" TYPE="text/css" href="/dpls/ited-css/style1.css"/>');htp.HEADCLOSE;
    htp.BODYOPEN;htp.p('<div id="banner-home">
    <div CLASS="bannermain">
    <img src="/dpls/ited-images/logo2.jpg" alt="Waikato Institute of Technology" width="450" height="75"/> 
    </div> 
    </div>');
    htp.p('<div id="Header"><a href="webcourse.webcourse_report.home_list">ITEB.CO.NZ</a></div>');
    htp.p('<div id="Header2">
    <a> &gt; </a><a href="../ited/xmlproject.HOME">Login</a>
                   
               
    </div>');htp.p('<div id="Menu">
    <!--login--> 
    <div CLASS="menu"> 
    <FORM onsubmit="insert(event)" name="logform" action="../ited/log_in_md5" method="GET">
    <TABLE border="0" cellpadding="1px" vspace="0"> 
    <tr><p><h5>Welcome: '||v_username||'</h5><SIZE="20"></p></tr>
    <tr><td></td></tr> 
    </TABLE>
    </FORM> 
    </div>
    </div>'); htp.p('<div id="Menu" CLASS="menu">
    <!--external links-->
    <p>EXTERNAL Links</p>');
    htp.p('<a href="http://www.wintec.ac.nz/" target="_blank">Wintec</a><br/>
    <a href="http://wintec.elearning.ac.nz/moodle/" target="_blank">Moodle</a><br/>
    <a href="http://mymail.wintec.ac.nz/" target="_blank">MyMail</a><br/>
    <a href="https://student.wintec.ac.nz/arionmain/default.aspx" target="_blank">Arion</a><br/>
    <a href="show_free_projects" target="_blank">IT301 Free Projects</a><br/>
    <br/>
    <p>Partners</p>
    <a href="http://www.altova.com" target="_blank">
    <img src="/dpls/ited-images/education_120.gif" alt="Altova" title="Altova"/>
    </a>
    <br/><br/>
    </div> <div id="ContentIndex">');
    htp.p('<p><center><font color="red"><h2>'||v_message||'</h2></font></center></p>'); 
    htp.p('<h1>Admin Menu</h1>');htp.p('<p>ITEB Tutor Page is help tutor for update, create class and upload new.</p>');
    htp.p('<blockquote><li><a href="project.project_report.STUDENT_NOTES">Create new course</a></li>'); 
    ----
    FOR get_courses_rec IN get_courses
    LOOP
    htp.p('<li><a href="webcourse_web.insert_news?c_code_in='||get_courses_rec.c_code||'">News for course students '||get_courses_rec.c_code||': '||get_courses_rec.c_name||'</a></li>');
    END LOOP;----
    FOR get_courses_rec IN get_courses
    LOOP
    htp.p('<li><a href="webcourse_web.view_class_list?c_code_in='||get_courses_rec.c_code||'">The student detail for '||get_courses_rec.c_code||': '||get_courses_rec.c_name||'</a></li>');
    END LOOP;----
    FOR get_courses_rec IN get_courses
    LOOP
    htp.p('<li><a href="webcourse_report.view_class_list?c_code_in='||get_courses_rec.c_code||'">Update the class detail '||get_courses_rec.c_code||': '||get_courses_rec.c_name||'</a></li>');
    END LOOP;
    htp.p('</blockquote></p>');htp.p('<br/><hr/><hr/><p>Today is: '||to_char(sysdate,'DD-MON-YYYY HH24:MI')||'</p>'); 
    htp.BODYCLOSE;
    htp.HTMLCLOSE;EXCEPTION
    WHEN OTHERS THEN
    v_error := substr(SQLERRM, 1, 200);
    INSERT INTO PROJECT.ACCESS_AUDIT VALUES (v_username, v_error, 'course_list', sysdate, '');
    HTP.P('Sorry, an error has occurred: '||v_error); 
    END;