このコードでsqlplusを使用するとコンパイルエラーが発生します。
私のエラーは:
警告:コンパイルエラーでプロシージャが作成されました。
BEGIN point_triangle;終わり;
1行目のエラー:ORA-06550:1行目、7列目:
PLS-00905:オブジェクトPOINT_TRIANGLEは無効です
ORA-06550:行1、列7:
PL/SQLステートメントは無視されました
「show errors」と入力すると、エラーがないことがわかります。
これがコードです。
create or replace procedure point_triangle
AS
A VARCHAR2(30);
B VARCHAR2(30);
C INT;
BEGIN
FOR thisteam in (select P.FIRSTNAME into A from PLAYERREGULARSEASON P where P.TEAM = 'IND' group by P.FIRSTNAME, P.LASTNAME order by SUM(P.PTS) DESC)
(select P.LASTNAME into B from PLAYERREGULARSEASON P where P.TEAM = 'IND' group by P.FIRSTNAME, P.LASTNAME order by SUM(P.PTS) DESC)
(select SUM(P.PTS) into C from PLAYERREGULARSEASON P where P.TEAM = 'IND' group by P.FIRSTNAME, P.LASTNAME order by SUM(P.PTS) DESC);
LOOP
dbms_output.put_line(A|| ' ' || B || ':' || C);
END LOOP;
END;
/
すべてのプレーヤーをAとBに入れ、そのチームでのキャリアのポイントをCに入れるとします。手順ではなく、クエリが機能することを知っています。
create or replace procedure point_triangle
AS
BEGIN
FOR thisteam in (select FIRSTNAME,LASTNAME,SUM(PTS) from PLAYERREGULARSEASON where TEAM = 'IND' group by FIRSTNAME, LASTNAME order by SUM(PTS) DESC)
LOOP
dbms_output.put_line(thisteam.FIRSTNAME|| ' ' || thisteam.LASTNAME || ':' || thisteam.PTS);
END LOOP;
END;
/