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