当前位置: 代码迷 >> Oracle管理 >> oracle简单有关问题!
  详细解决方案

oracle简单有关问题!

热度:97   发布时间:2016-04-24 04:18:25.0
求一个oracle简单问题!!急
本人没学过oracle....
题目是要 建个函数 输入COURSE_NAME 显示选了该课程学生平均分!!
CHOICE表里有S_NO,COURSE_NO,SCORE
COURSE表里有COURSE_NO,COURSE_NAME

CREATE OR REPLACE
FUNCTION AVGSCORE_F
( COURSENAME_F IN VARCHAR2
) RETURN NUMBER IS
SCORE_F NUMBER;
BEGIN
   SELECT AVG(SCORE) INTO SCORE_F FROM CHOICE
  WHERE COURSE.COURSE_NAME = COURSENAME_F AND CHOICE.COURSE_NO=COURSE.COURSE_NO;
  RETURN SCORE_F;
END AVGSCORE_F;

这是错误:
错误(7,4): PL/SQL: SQL Statement ignored
错误(8,64): PL/SQL: ORA-00904: "COURSE"."COURSE_NO": 标识符无效

------解决方案--------------------
select avg(a.score) into score_f from choice a ,course b where 
a.cursor_no=b.cursor_no where b.cursor_name=cursorname_f

------解决方案--------------------
from后面少了一个表名。导致此表的属性不能被识别。
------解决方案--------------------
from 两张表,你只写了一个
------解决方案--------------------
COURSE.COURSE_NO无效,但你的sql语句中就没有表COURSE。二楼的说法是正确的。
------解决方案--------------------
COURSE.COURSE_NO COURSE是哪里来的 楼主注意下,报错信息很明确
  相关解决方案