按顺序调用多个过程顺序插入数据

时间:2017-07-31 07:19:47

标签: plsql oracle-sqldeveloper plsqldeveloper

我有一个要求,我需要为客户插入一行,为地址插入下一行,而不是在特定表中插入所有帐户。 为此,我写了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;

0 个答案:

没有答案