[英]insert data from a table to another table sorted by column
有一个临时表TMP_OA_PSTN_CMP_11035
其中包含以下字段:
ACTION_OBJID NUMBER,
CONTRACT_OBJID NUMBER,
STATUS varchar2(40),
UPDATE_DATE DATE
它包含700万个数据。我想创建七个不同的临时表,其中的TMP_OA_PSTN_CMP_11035数据按action_objid排序,每个表包含100万条记录。 ACTION_OBJID列不是序列。
我尝试使用rownum,但是输入了随机数据。
对于EG:
Temp1:包含从5,8 ...到1100000的action_objid的数据(因为action_objid不是序列,所以是一百万个数据)。 同样,对于其他6个临时表。 我正在使用oracle 10g。
怎么样
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
分享并享受。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.