SQL> CREATE OR REPLACE procedure checkDelay_proc
2 IS
3 v_num suya55.대여.대여번호%TYPE;
4 v_state suya55.대여.반납여부%TYPE;
5 v_date suya55.대여.대여일%TYPE;
6 v_return suya55.대여.대여기간%TYPE;
7 cursor lend_cursor IS
8 select 대여번호,반납여부,대여일,대여기간
9 from suya55.대여
10 where suya55.대여.반납여부 = '대여중' and sysdate-suya55.대여.대여일 >대여기간
11 FOR UPDATE;
12 BEGIN
13 open lend_cursor;
14 LOOP
15 FETCH lend_cursor into v_num,v_state,v_date,v_return;
16 update 대여 set 반납여부='연체중' where current of lend_cursor;
17 EXIT when lend_cursor%rowcount>5 or lend_cursor%notfound;
18 END LOOP;
19 CLOSE lend_cursor;
20 END checkDelay_proc;
21 /
프로시저가 생성되었습니다.
SQL> execute checkDelay_proc
BEGIN checkDelay_proc; END;
*
1행에 오류:
ORA-01410: ROWID가 부적합합니다
ORA-06512: "SUYA55.CHECKDELAY_PROC", 줄 16에서
ORA-06512: 줄 1에서
--------------
비디오샾을 만들고있는데요. 비디오샾에서 프로그램을 가동시키면 이 프로시져가 동작하구
이녀석은 대여중인 비디오중 기간이 지난놈들을 골라 '연체중' 이라는 글자로 바꾸는 프로시져입니다.
근데. 컴파일은 성공적으로 되는데 위에같은 오류가 뜨구요...
isqlpluse에서 실행시키면 컴파일오류와 함께 생성되구 실행시키면 아래와 같은 오류가 뜹니다.
BEGIN checkDelay_proc; END;
*
1행에 오류:
ORA-06550: 줄 1, 열7:PLS-00905: SUYA55.CHECKDELAY_PROC 오브젝트가 부당합니다
ORA-06550: 줄 1, 열7:PL/SQL: Statement ignored
제생각엔 아무리 뚫어져라 봐도 틀린곳이 안보이는데..ㅠ.ㅠ
제발 도와주세요....ㅠ.ㅠ
|