Default_accounts
========================
p_type varchar2
t_type varchar2
A varchar2
B varchar2
C varchar2
D varchar2
=========================
p_type
和t_type
有效的方法是表中的主鍵來填充臨時表
p_type t_type A B C D
============================
apple sell Y N N Y
banana buy N N N Y
orange sell Y N N N
mango buy Y Y N Y
papaya buy Y N N Y
apple buy Y N N Y
banana sell Y Y Y Y
============================
Accounts_Exceptions
=============================
acc_excep_id number --sequence (Primary key)
p_type varchar2
t_type varchar2
excep_attribute varchar2 --contains column of default_accounts like A,B,C,D
priority number
excep_base_sql varchar2
excep_value varchar2
===============================
Unique constraint
:P_TYPE,t_type,excep_attribute和優先 foreign_key
:P_TYPE和t_type從Default_accounts
acc_excep_id p_type t_type excep_attribute priority excep_base_sql excep_value
---------------------------------------------------------------------------------------------
1 apple buy A 1 --some-- XYZ
2 apple buy A 2 --some-- PQR
3 banana sell B 1 --some-- GHT
4 banana sell B 2 --some-- GFF
5 orange sell C 1 --some-- DSA
---------------------------------------------------------------------------------------------
excep_base_sql
:它包含一個像SQL一樣的SQL查詢--its一個簡單的查詢,但它始終包含綁定vairable:ALLOC
現在,我的要求是,我得到具有包含
alloc_id ,p_type,t_type
記錄我把記錄在臨時表遊標具有如下結構:
alloc_id p_type t_type A B C D --------------------------------------------- 11 apple buy 22 apple sell 33 mango buy 12 mango buy 13 mango buy 24 banana buy 54 orange sell
3.But你看,我需要填充散裝A,B,C和d值,臨時表可以CONTA在
millions of record
左右。4.爲了填充我需要首先檢查account_exceptions表的任何異常的值。 例如:我從臨時表中提取
11 apple buy
並查看異常表,在異常表中查找具有p_type
爲apple
和t_type
爲buy
的記錄按優先級順序排列。5.So,記錄與
acc_excep_id
:1,2
是牽強,我取第一個記錄和excep_base_sql
與alloc_id
11運行,如果返回行的話,我會更新 的excep_attribute
A和在臨時表XYZ
然後跳過第二優先級爲2的記錄,因爲優先級爲1的記錄滿足。6.如果在execptions表中沒有
apple buy
的條目,那麼我需要用default_accounts表填充臨時表,所以這個值是Y
。7.所以,如果沒有異常情況,那麼默認值是
default_accounts
。8.總之,我需要在表
temp
中填入A B C D
的值。9.我需要一種方法來有效地將數據填充到臨時表中以獲取值
A B C D
。
誰能幫我用這種方法
@Justin洞穴:你可以建議一個更好的方法來填充表 – 2012-04-01 18:28:57
這是你需要定期或只是一次做的事嗎? – 2012-04-02 07:05:41
@ABCade:不常規,一個月一次,我的想法是將該值存儲在臨時表中,然後將該臨時表的光標返回到表xyz中。之後,所有的獲取都是從xyz表 – 2012-04-02 07:39:32