버그는 어디에 있습니까? 컴파일은 오류로 끝나고 어디서 잘못 될지 잘 모릅니다.Oracle 프로 시저의 오류입니다. 개체가 유효하지 않습니다.
create or replace
PROCEDURE make_payoff(user_id_argument number)
is
begin
payoff_amount:= 0;
CURSOR Clicks IS
SELECT c.cpc FROM click as c JOIN widget w ON w.id = c.widget_id JOIN website web ON web.id = w.website_id WHERE web.user_id = user_id_argument AND c.payoff_id IS NULL;
BEGIN
FOR Click IN Clicks
LOOP
payoff_amount:= payoff_amount + Click.cpc;
END LOOP;
INSERT INTO payoff (user_id, amount) VALUES (user_id_argument, payoff_amount);
COMMIT;
end;
내가 갖는 :
ERROR at line 1:
ORA-06550: line 1, column 7:
PLS-00905: object S10306.MAKE_PAYOFF is invalid
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
편집 : 내가 커서 이름을 고정했지만 오류가 당신은 s
놓친 같은
'FOR Click IN Click' ??? 우선 커서의 이름은 필드와 같습니다. PL/SQL 인터프리터는 물론 혼란 스럽습니다. –
클릭에서'click' – Brian
OP는 SHOW ERROR를 사용하고 자신의 구문 오류를 수정해야합니다. – APC