CREATE OR REPLACE Procedure PRO_COL_CustomerInCut2 AS
Begin
Declare
iRow1 Integer;
iRow2 Integer;
dtToday Date;
sToday CHAR(14);
J Integer;
sCustIdTemp Col_Customer_Def.sCustId%Type;
Cursor C1 IS
Select * from Col_VM_CustIn_CustDef order by sCustId;
Begin
Select SYSDATE into dtToday from Dual;
Select TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') into sToday from Dual;
sCustIdTemp := ' ';
For I1 In C1 Loop
If I1.sCustId <> sCustIdTemp then
sCustIdTemp := I1.sCustId;
Insert into Col_Customer_Def
(
sId, dtBirthday, sBillZip, sBillAddr, sCustZip,
sCustAddr, sHomeTel, sPhone, sCorpName, sCorpTel,
sContactName, sContactTel, sCustId, sCustNo, sCustName,
sSopCustNo, sAgent, sAgentTel, sAgentId, sAgentZip,
sAgentAddr, sCompId, sPayMd, sHomeZip, sHomeAddr,
dtEntTime, sEntRec, iProcessFlag
)
values
(
I1.sId, I1.dtBirthday, I1.sBillZip, I1.sBillAddr, I1.sCustZip,
I1.sCustAddr, I1.sHomeTel, I1.sPhone, I1.sCorpName, I1.sCorpTel,
I1.sContactName,I1.sContactTel, I1.sCustId, I1.sCustNo, I1.sCustName,
I1.sSopCustNo, I1.sAgent, I1.sAgentTel, I1.sAgentId, I1.sAgentZip,
I1.sAgentAddr, I1.sCompId, I1.sPayMd, I1.sHomeZip, I1.sHomeAddr,
sToday, '000000000000', 1
);
J := J + 1;
If J >= 10000 then
J := 0;
commit;
End If;
End If;
End Loop;
commit;
Delete Col_Customer_In;
End;
End;
/
Begin
Declare
iRow1 Integer;
iRow2 Integer;
dtToday Date;
sToday CHAR(14);
J Integer;
sCustIdTemp Col_Customer_Def.sCustId%Type;
Cursor C1 IS
Select * from Col_VM_CustIn_CustDef order by sCustId;
Begin
Select SYSDATE into dtToday from Dual;
Select TO_CHAR(SYSDATE,'YYYYMMDDHH24MISS') into sToday from Dual;
sCustIdTemp := ' ';
For I1 In C1 Loop
If I1.sCustId <> sCustIdTemp then
sCustIdTemp := I1.sCustId;
Insert into Col_Customer_Def
(
sId, dtBirthday, sBillZip, sBillAddr, sCustZip,
sCustAddr, sHomeTel, sPhone, sCorpName, sCorpTel,
sContactName, sContactTel, sCustId, sCustNo, sCustName,
sSopCustNo, sAgent, sAgentTel, sAgentId, sAgentZip,
sAgentAddr, sCompId, sPayMd, sHomeZip, sHomeAddr,
dtEntTime, sEntRec, iProcessFlag
)
values
(
I1.sId, I1.dtBirthday, I1.sBillZip, I1.sBillAddr, I1.sCustZip,
I1.sCustAddr, I1.sHomeTel, I1.sPhone, I1.sCorpName, I1.sCorpTel,
I1.sContactName,I1.sContactTel, I1.sCustId, I1.sCustNo, I1.sCustName,
I1.sSopCustNo, I1.sAgent, I1.sAgentTel, I1.sAgentId, I1.sAgentZip,
I1.sAgentAddr, I1.sCompId, I1.sPayMd, I1.sHomeZip, I1.sHomeAddr,
sToday, '000000000000', 1
);
J := J + 1;
If J >= 10000 then
J := 0;
commit;
End If;
End If;
End Loop;
commit;
Delete Col_Customer_In;
End;
End;
/
解决方案 »
- 不显示删除回复显示所有回复显示星级回复显示得分回复 安装oracle11g时出现 先决条件检查全部失败 求高人指点
- 关于oracle分区表的查询性能问题
- 错误信息: ORA-12801、ORA-00600。请问各大虾这是什么原因呢?
- oracle 存储过程 数据集
- 请帮忙看一下这是什么错误?谢谢
- 如何在触发器里再查找该表的数据?
- 鸡毛信(分不够再加):IMP-00003: ORACLE 错误1658出现 ORA-01658: 无法为表空间TS01_TABLE中的段创建 INITIAL 区
- schema这个词怎么翻译?
- 导入数据库错误,提示无法转换字符集*(1-852)。。急
- 为什麽以system登陆Oracle后,不能删除表?
- 哪里能找到ArcSde的学习资料,下载到ArcSde for Oracle软件?
- oracle里有哪几个默认的表
(
sId,dtBirthday,sBillZip,sBillAddr,sCustZip,
sCustAddr,sHomeTel,sPhone,sCorpName,sCorpTel,
sContactName,sContactTel,sCustId,sCustNo,sCustName,
sSopCustNo,sAgent,sAgentTel,sAgentId,sAgentZip,
sAgentAddr,sCompId,sPayMd,sHomeZip,sHomeAddr,
dtEntTime,sEntRec,iProcessFlag
)
values
(
I1.sId,I1.dtBirthday,I1.sBillZip,I1.sBillAddr,I1.sCustZip,
I1.sCustAddr,I1.sHomeTel,I1.sPhone,I1.sCorpName,I1.sCorpTel,
I1.sContactName,I1.sContactTel,I1.sCustId,I1.sCustNo,I1.sCustName,
I1.sSopCustNo,I1.sAgent,I1.sAgentTel,I1.sAgentId,I1.sAgentZip,
I1.sAgentAddr,I1.sCompId,I1.sPayMd,I1.sHomeZip,I1.sHomeAddr,
这一段可以用
INSERT INTO Col_Customer_Def
SELECT FROM I1 WEHRE ....
来完成.
表的规模是多少呢?
end loop;
end loop;能加快速度嗎?