环境是这样的:
需要导入大量数据到Oracle,目前Oracle已建立索引和触发器了,导入的数据是树型结构,需要关联。
采用的方法是:
删除以前数据库的索引和触发器,用OracleBulkCopy批量导入数据,然后再创建序列和触发器,创建序列的时候,初始ID需要重新设置过,一般是数据库记录最大ID加一。
--表:TB_PROJECTS1 --删除触发器 DROP TRIGGER TR_TB_PROJECTS1; --删除序列 DROP SEQUENCE SQ_TB_PROJECTS1; --创建序列 create sequence SQ_TB_PROJECTS1 increment by 1 start with 600; --创建触发器 create or replace trigger TR_TB_PROJECTS1 before insert on TB_PROJECTS1 for each row begin select SQ_TB_PROJECTS1.nextval into :new.PROID from dual; end; --插入数据 有ID INSERT INTO "CMSP"."TB_PROJECTS1" ("PROID", "PROJECTNAME", "PROJECTCODE", "PARENTID", "NEXTID", "PROJECTORDER", "ISENABLED", "OWNERID") VALUES ('55', 'name1', 'code1', '0', '0', '0', '1', '0'); --插入数据 无ID INSERT INTO "CMSP"."TB_PROJECTS1" ("PROJECTNAME", "PROJECTCODE", "PARENTID", "NEXTID", "PROJECTORDER", "ISENABLED", "OWNERID") VALUES ('name1', 'code1', '0', '0', '0', '1', '0');