【发布时间】:2012-11-15 16:25:28
【问题描述】:
我正在尝试使用 OracleBulkCopy 将大型分隔文件读入单个表。主键是列 ID,定义为 number(20,0),我相信,nHibernate 通常在插入时通过序列递增。如果我通过 odp.net 使用 oracleBulkCopy,如何确保 ID 在插入时递增,并且在其他人通过应用程序插入时不会出现并发问题?
【问题讨论】:
标签: c# .net database oracle odp.net
我正在尝试使用 OracleBulkCopy 将大型分隔文件读入单个表。主键是列 ID,定义为 number(20,0),我相信,nHibernate 通常在插入时通过序列递增。如果我通过 odp.net 使用 oracleBulkCopy,如何确保 ID 在插入时递增,并且在其他人通过应用程序插入时不会出现并发问题?
【问题讨论】:
标签: c# .net database oracle odp.net
您需要在 oracle 中创建一个序列,以便它可以自动增加您的 id
创建序列 MY_TABLE_SEQ 以 1 个 NOMAXVALUE NOMINVALUE NOCYCLE NOCACHE NOORDER 开始递增;
在插入 MY_TABLE 之前创建触发器 MY_TABLE_INSERT_TRIGGER 每一行都引用新的和旧的一样 开始 从 DUAL 中选择 MY_TABLE_SEQ.NEXTVAL INTO :NEW.MY_ID_FIELD; 结束;
【讨论】:
【讨论】: