supplier_product 테이블 (supp_id, prod_id, invoice_id, price) 및 송장 테이블 (invoice_id, balance)이 있습니다. 나는 저장된 proc을 시도했다. 주어진 (supp_id) 그것은 기존의 모든 invoice_id해야하고 균형을 표시합니다.오라클 저장 프로 시저 매개 변수가있는 경우 합계를 가져옵니다.
set serverouput on;
create or replace
Procedure SUP_loop
(v_SUPPLIER_ID int )
AS
CURSOR c_SUP IS
select SUPPLIER_ID , SUPP_INVOICE_ID, balance
from SUPPLIER_PRODUCT, supplier_invoice
where SUPPLIER_ID=v_SUPPLIER_ID
and supp_invoice_id.supplier_product=supp_invoice_id.supplier_invoice;
BEGIN
--LOOP WITH IMPLICIT VARIABLE DECLARED
--AUTOMATIC, OPEN FETCH, CLOSE
FOR v_SUP_data IN c_SUP LOOP
DBMS_OUTPUT.PUT_LINE(TO_CHAR(v_SUP_data.SUPPLIER_ID) || ' ' ||
TO_CHAR(v_SUP_data.SUPP_INVOICE_ID) || ' ' ||
TO_CHAR(v_SUP_data.balance) );
END LOOP;
END;
/
내가 점점 오전 오류가 v_sup_data 오류 (20,31)이다 : PLS-00364 : 여기 내 코드는 루프 인덱스 변수 'V_SUP_DATA'사용을 참조에 대한
Error(9,74): PL/SQL: ORA-00904: "SUPP_INVOICE_ID"."SUPPLIER_INVOICE": invalid identifier