【问题标题】:What is the SQL syntax to add multiple rows of data in one time?一次添加多行数据的SQL语法是什么?
【发布时间】:2015-11-09 02:19:59
【问题描述】:

这是我的代码,显然它有问题。

INSERT INTO qdel(delno,delqty)
VALUES
(192,3422);
(1,2);
(203,20);

如何在一条语句中插入多行数据?

【问题讨论】:

  • 你需要写三个插入语句。甚至 if Oracle 确实支持多行插入,行需要用, 而不是; 分隔。分号; 终止完整的语句

标签: sql oracle syntax sql-insert bulkinsert


【解决方案1】:

您试图在同一个表中插入多行。

但是你的进程在 oracle 中无效

这样试试

INSERT ALL
 INTO qdel(delno,delqty) VALUES (192,3422)
 INTO qdel(delno,delqty) VALUES (1,2)
 INTO qdel(delno,delqty) VALUES (203,20)
select * from dual

【讨论】:

  • 是的,效果很好。但我认为可能有一些更方便的方法。
  • 我最近看到insert all 的使用有所增加 - 我从来不明白这比简单地编写三个插入语句更方便,因为它并没有消除为每个语句限定列的必要性行。
【解决方案2】:

你可以使用insert . . . select:

INSERT INTO qdel(delno, delqty)
    select 192, 3422 from dual union all
    select 1, 2 from dual union all
    select 203, 20 from dual;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 2022-12-12
    相关资源
    最近更新 更多