c# - 在没有存储过程/避免循环的情况下在 Oracle 表 10g 中批量插入

标签 c# xml database oracle datatable

我有一个包含 3 列 ID (int)、Name (string)、Status (string) 和 1000 行的数据表 .. 以及一个包含 4 列 seq(从 SEQR.NEXTVAL 生成)、IDNameStatus

我想在单个查询中插入所有 1000 行。我的意思是使用循环避免 1000 次数据库命中以解决性能问题。

约束是:

  1. 我正在使用 Oracle 10g
  2. 存储过程,不允许使用游标
  3. 允许创建临时表,因为 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/

相关文章:

C# + 检查元组列表中的间隙和重叠

c# - 在没有数据库连接的情况下使用 Entity Framework 类

c# - 数据网格复选框单元格

xml - NativeXml和线程

xml - 最佳实践 : XML attribute vs XML element - When should I use elements and when should I use attributes?

C# 将 XML 解析为不同的列表

mysql - 无法从MySQL数据库中选择所需的数据

mysql - 向数据库提供可定制类别的首选方法是什么?

C# 无法将类型 'System.IO.FileInfo' 隐式转换为字符串

c# - MongoDB 在 Azure 平台上非常慢