1

私はpl/sqlの初心者です。pl sqlを使用してgpaを計算しようとしています。値を含む成績の表を作成しました。

SSN             CNO           GRADE
--------------- -------- ----------
55555           cs101             1
55555           math101           4
55555           bio101            1
55555           cgdd101           3
55555           swe203            3
55555           eng101            3
11111           bio101            4
11111           cgdd101           4
55555           cs101             1
55555           math101           4
55555           bio101            1

次の pl sql 関数で gpa を計算しようとしていますが、次のエラーが発生します。

55555           eng101            3

36 rows selected.

SQL> create or replace function get_count
  2  return is
  3  declare
  4  v_count number;
  5  begin
  6  select count(*) into v_count from grade;
  7  return grade;
  8
  9  end;
 10  /

Warning: Function created with compilation errors.

SQL> show errors
Errors for FUNCTION GET_COUNT:

LINE/COL ERROR
-------- -----------------------------------------------------------------
2/8      PLS-00103: Encountered the symbol "IS" when expecting one of the
         following:
         <an identifier> <a double-quoted delimited-identifier> self
         long double ref char time timestamp interval date binary
         national character nchar
4

2 に答える 2

0

これを試して

CREATE OR REPLACE FUNCTION GET_COUNT
   RETURN NUMBER
IS
   V_COUNT   NUMBER;
BEGIN
   SELECT COUNT (*)
     INTO V_COUNT
     FROM GRADE;
   RETURN V_COUNT;
END;
于 2012-10-05T08:49:32.137 に答える
0

関数に戻りデータ型がありません。例:

create or replace function get_count
return NUMBER is
v_count number;
...

また、必要はありませんdeclare

于 2012-10-05T03:47:59.237 に答える