zoukankan      html  css  js  c++  java
  • Oracle中以insert values的形式同时插入多条记录

    转自:Oracle中以insert values的形式同时插入多条记录

    由于要做测试数据插oracle数据库,想到了mysql的多个values的形式,但是sql报错。oracle并不支持这种一个insert into 多个values的方法:

    INSERT INTO users(name, age) VALUES('ccc', 333), ('aaa', 222), ('bbb', 111);

    但是有另一种写法,做个简单记录,跟mysql中的一个insert多个values的形式差不多:

    1 INSERT ALL INTO tb_red VALUES(1000, 8001, '2016-10-10 10:59:59', 1, 8001, '测试用户1000', '红名单0', '', '膜法学院', '被测')
    2 INTO tb_red  VALUES (1001, 8001, '2016-10-10 11:00:00', 2, 8001, '测试用户1001', '红名单1', '', '膜法学院', '被测')
    3 INTO tb_red  VALUES (1002, 8001, '2016-10-10 11:00:01', 0, 8001, '测试用户1002', '红名单2', '', '膜法学院', '被测')
    4 INTO tb_red  VALUES (1003, 8001, '2016-10-11 10:59:59', 1, 8001, '测试用户1003', '红名单3', '', '膜法学院', '被测')
    5 INTO tb_red  VALUES (1004, 8001, '2016-10-11 11:00:00', 2, 8001, '测试用户1004', '红名单4', '', '膜法学院', '被测')
    6 INTO tb_red  VALUES (1005, 8001, '2016-10-11 11:00:01', 0, 8001, '测试用户1005', '红名单5', '', '膜法学院', '被测')
    7 select 1 from dual;

    说明:

    1.第一句用的是insert all into 不是 insert into

    2.最后跟的select 1 from dual语句中的dual表可以被替换为任何一个只要不是tb_red的表

    3.和mysql的写法不一样,多个values之间不用逗号分隔,但是需要加into tablename的形式的语句在每个values前面

    4.只适合于Oralce 9i以上版本

  • 相关阅读:
    MT【347】单变量求最值
    MT【346】拐点处分界
    MT【345】三个绝对值的和
    MT【344】构造函数
    MT【343】三数平方法
    MT【342】条件为非负实数
    MT【341】换元变形
    MT【340】彭塞列闭合定理
    MT【339】待定系数
    MT【338】分式变形
  • 原文地址:https://www.cnblogs.com/nemowang1996/p/12519018.html
Copyright © 2011-2022 走看看