临时表TMP_OA_PSTN_CMP_11035
包含字段:
ACTION_OBJID NUMBER,
CONTRACT_OBJID NUMBER,
STATUS varchar2(40),
UPDATE_DATE DATE
这包含700万个data.i想要创建七个不同的临时表,其中包含来自TMP_OA_PSTN_CMP_11035的数据,这些数据按action_objid排序,每个包含100万条记录。 列ACTION_OBJID不是序列。
我尝试使用rownum,但输入随机数据。
对于EG:
Temp1:包含5,8 ...到1100000的action_objid的数据(因为action_objid不是序列,这多为100万个数据)。 同样,对于其他6个临时表。 我正在使用oracle 10g。
答案 0 :(得分:1)
怎么样
CREATE TABLE TEMP_TABLE_1
SELECT *
FROM (SELECT *
FROM TMP_OA_PSTN_CMP_11035
WHERE ACTION_OBJID > 0
ORDER BY ACTION_OBJID)
WHERE ROWNUM <= 1000000
然后对每个其他临时表重复上述操作,将WHERE ACTION_OBJID > 0
替换为(SELECT MAX(ACTION_OBJID) FROM name of previous temp table)
。因此,对于TEMP_TABLE_2,语句将是
CREATE TABLE TEMP_TABLE_2
SELECT *
FROM (SELECT *
FROM TMP_OA_PSTN_CMP_11035
WHERE ACTION_OBJID > (SELECT MAX(ACTION_OBJID) FROM TEMP_TABLE_1)
ORDER BY ACTION_OBJID)
WHERE ROWNUM <= 1000000
分享并享受。