我有一个包含 3 列 ID (int)、Name (string)、Status (string)
和 1000 行的数据表 .. 以及一个包含 4 列 seq
(从 SEQR.NEXTVAL
生成)、ID
、Name
、Status
。
我想在单个查询中插入所有 1000 行。我的意思是使用循环避免 1000 次数据库命中以解决性能问题。
约束是:
- 我正在使用 Oracle 10g
- 存储过程,不允许使用游标
- 允许创建临时表,因为 DBA 来自客户端,所以我无法从我这边创建数据库表
对正确的代码有什么建议吗?我正在使用 Oracle 客户端和 DbCommand
对象
最佳答案
所以只使用一个 SQL 语句,对吗?
insert into table_a (seq_col, id, name, status)
select seqr.nextval, id, name, status
from table_b;
关于c# - 在没有存储过程/避免循环的情况下在 Oracle 表 10g 中批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17328090/