2014年2月14日

PL/SQL迴圈及暫存資料表

莫名其妙被扯入Oracle EBS系統,被迫學習PL/SQL語法;
以下為建立暫存資料表及利用迴圈取得相對應子項目資料再一起寫入暫存的筆記:

//建立暫存資料表

create GLOBAL TEMPORARY TABLE temp_wales (
  DESCRIPTION VARCHAR2(80 BYTE),
  ASSET_NUMBER VARCHAR2(15 BYTE),
  DATE_PLACED_IN_SERVICE DATE,
  LIFE_IN_MONTHS NUMBER(4,0)
)
ON COMMIT PRESERVE ROWS;

//A取得ID後再去比對B資料表中的Parent_ID

BEGIN

    FOR rec IN (SELECT ID,DESCRIPTION,ASSET_NUMBER,DATE_PLACED_IN_SERVICE,LIFE_IN_MONTHS FROM A )

//開始迴圈
    LOOP

//先寫入父資料的記錄到暫存裡

      INSERT INTO temp_wales( ASSET_NUMBER,DESCRIPTION,DATE_PLACED_IN_SERVICE, LIFE_IN_MONTHS) values( rec.ASSET_NUMBER,rec.DESCRIPTION,rec.DATE_PLACED_IN_SERVICE,rec.LIFE_IN_MONTHS);

//再寫入子資料的記錄到暫存裡

      INSERT INTO temp_wales( ASSET_NUMBER,DESCRIPTION,DATE_PLACED_IN_SERVICE, LIFE_IN_MONTHS)  SELECT ASSET_NUMBER,'改良',rec.DATE_PLACED_IN_SERVICE,rec.LIFE_IN_MONTHS FROM B WHERE Parent_ID=   rec.ID;

//結束迴圈

    END LOOP;

END;

//撈撈看是否有資料了

select * from temp_wales;


精選文章

利用Selenium IDE進行UI測試

安裝與執行 Selenium IDE是Firefox的一個plugin,用來做UI的自動測試:下載網址為http://docs.seleniumhq.org/download/ 安裝後,點一下firefox 的工具 -> Selenium IDE ,就會...