我有一个要求,我需要为客户插入一行,为地址插入下一行,而不是在特定表中插入所有帐户。 为此,我写了3个程序1,在FOR LOOP中调用2个。 在我运行时,它按顺序运行,但是当我检查插入的数据时。在调用过程为oveR之前插入一些调用过程行。如何解决?
CREATE OR REPLACE PROCEDURE XYG(REP_DATE IN custom.C_CIBILRPT_TBL.RPT_DATE%type)
AS
V_AS_COU NUMBER DEFAULT 1;
V_BS_COU NUMBER DEFAULT 1;
V_CS_TOT NUMBER DEFAULT 1;
V_BOD_DATE DATE;
V_LINE_DATA VARCHAR(300);
BEGIN
<<Getting Date into V_BOD_DATE using into statemet>>
--#### Truncating Temp Table
execute immediate 'Truncate table CUSTOM.C_CIBILRPT_TMP';
--#### Borrower Segment Generation Starts --####
FOR custid IN
( Fetching customer id
LOOP
<<Getting the data in V_LINE_DATA>>
INSERT
INTO C_CIBILRPT_TMP VALUES
(
REP_DATE,
V_BOD_DATE,
'XXX',
'BS',
V_BS_COU,
V_LINE_DATA,
custid.cifid
);
COMMIT;
V_BS_COU := V_BS_COU+1;
DBMS_OUTPUT.put_line (custid.cifid);
ADDRESS_SEG_BG (custid.cifid,v_as_cou,rep_date);
V_AS_COU := V_AS_COU+1;
CREDIT_SEG_BG(custid.cifid,rep_date);
END LOOP;
END XYG;