2013-10-15 172 views
1

我是PL/SQL的新手,我需要從3個表創建臨時表,並且記錄集可用於報告,我只需要在會話期間使用recorset。我想 知道什麼是最好的方式,因爲我聽說臨時的全球表不是最好的選擇。pl/sql創建臨時全局表

  • 表1:fields t1.pnum, t1.dnum t1.amount, t1.c_amount
  • 表2:fields t2.pnum, t2.dnum t2.amount, t2.c_amount
  • 表3:fields t3.pnum, t3.dnum t3.amount, t3.c_amount

,其中表2和表3的結果工會table1的由PNUM

+0

爲什麼你認爲你需要在存儲過程中這樣做? –

回答

1

創建全局臨時表作爲常規模式對象,而不是用PL/SQL「即時」。然後插入它並從中選擇。您插入的數據只對您的會話可見,當您提交或斷開連接或刪除數據時,數據就會消失。

但是,你確定你需要它嗎?您通常可以在沒有GTT的情況下使用公共表格表達式(WITH子句)。

+0

謝謝大衛,我認爲創建一個模式對象是最好的方式,我不熟悉Common Table表達式,請您詳細說明一下這個話題?非常感激你的幫助 – sgg