数据文件的1条记录:
inA_1,inA_2,inA1_1,inA1_2,inA2_1,inA2_2其中:inA_1,inA2插入主表A,同时生成记录号A_ID(触发序列生成器),
inA1_1,inA1_2;inA2_1,inA2_2分别插入附表A1、A2,怎么能把主表的A_ID带过来?形式如下:主表A: A_ID inA_1 inA_2附表A1: A_ID inA1_1 inA1_2附表A2: A_ID inA2_1 inA2_2
inA_1,inA_2,inA1_1,inA1_2,inA2_1,inA2_2其中:inA_1,inA2插入主表A,同时生成记录号A_ID(触发序列生成器),
inA1_1,inA1_2;inA2_1,inA2_2分别插入附表A1、A2,怎么能把主表的A_ID带过来?形式如下:主表A: A_ID inA_1 inA_2附表A1: A_ID inA1_1 inA1_2附表A2: A_ID inA2_1 inA2_2
主表A的触发器好象不能得到inA1_1,inA1_2,inA2_1,inA2_2用针对A、A1、A2组成的视图的instead of触发器,应该可以达到目的
我想知道SQLLOAD里有什么办法?
A_ID,inA_1,inA_2,inA1_1,inA1_2,inA2_1,inA2_2
几个字段,A_ID的产生可以用触发器之类的方法。然后就可以用oracle的旋转插入了:
Insert All
Into A (A_ID,inA_1,inA_2) values(A_ID,inA_1,inA_2)
Into A (A_ID,inA1_1,inA1_2) values(A_ID,inA1_1,inA1_2)
Into A (A_ID,inA2_1,inA2_2) values(A_ID,inA2_1,inA2_2)
select A_ID,inA_1,inA_2,inA1_1,inA1_2,inA2_1,inA2_2
from tmpTab当然这样操作,如果数据量太多,tmpTab就会很大,用过后产生的垃圾数据比较多,不过可以把tmpTab drop 掉