zoukankan      html  css  js  c++  java
  • oracle的批量插入sql

    insert into persons 
    (id_p, lastname , firstName, city )
    values
    (200,'haha' , 'deng' , 'shenzhen'),
    (201,'haha2' , 'deng' , 'GD'),
    (202,'haha3' , 'deng' , 'Beijing');

    这是mysql的插入语句。
    但是我们在oracle中是报错的,语句l

    那怎么办呢

    也许熟悉oracle数据库的可能知道从oracle9i版本以后,可以使用一种方法即:

    "INSERT ALL INTO  a表
    VALUES(各个值)  
    INTO a表 VALUES (其它值) 
    INTO a表 VALUES(其它值) .... 再跟一个SELECT 语句"。

    例如

    INSERT
    ALL
    INTO
    d5000.ac_terminal_connect_info
    (
    id ,
    feeder_id,
    esn ,
    name ,
    description
    )
    VALUES
    (
    (
    select
    id
    from
    d5000.dms_terminal_info
    where
    esn_id = '025BHN6RJB504521' limit 1
    )
    ,
    (
    select
    feeder_id
    from
    d5000.dms_terminal_info
    where
    esn_id = '025BHN6RJB504521' limit 1
    )
    ,
    '025BHN6RJB504521',
    '大厂地税局TTU-华为六合管理' ,
    ''
    )

    INTO
    d5000.ac_terminal_connect_info
    (
    id ,
    feeder_id,
    esn ,
    name ,
    description
    )
    VALUES
    (
    (
    select
    id
    from
    d5000.dms_terminal_info
    where
    esn_id = '025BHN6RJB503985' limit 1
    )
    ,
    (
    select
    feeder_id
    from
    d5000.dms_terminal_info
    where
    esn_id = '025BHN6RJB503985' limit 1
    )
    ,
    '025BHN6RJB503985' ,
    '淳溪东甘#3配变TTU-华为高淳管理',
    ''
    )
    SELECT 1 FROM DUAL

    这样就可以啦!显示两条插入成功过。

    后边跟的SELECT 语句我们可以从虚拟表里查如 SELECT 1 FROM DUAL。注意后边跟的SELECT语句可以随意,不过不是把它SELECT出来的内容插入前边的表里,而是起到前边的多个数据每次插入多少行的作用,这个多少行是和后边跟的SELECT语句查出来几条而定的,如后边的跟的SELECT 语句查出了15条记录,那么前边的"INSERT ALL INTO  a表 VALUES(各个值1)  INTO a表 VALUES (其它值2) INTO a表 VALUES(其它值3)"就会先插入值1对应的各个字段插入15条记录,然后插入值2各个对应的字段15条记录,然后插入值3对应的各个字段15条记录,也就是说有点按列插入的意思。

    我们要的是批量插入多个VALUES这样的一条记录,所以后边的SELECT 语句只要能查出一条记录就行,建议大家后边用SELECT 1 FROM DUAL

    
    
  • 相关阅读:
    Codeforces Round #657 (Div. 2) 题解
    洛谷 P2765 魔术球问题 (最小路径覆盖 or 贪心)
    洛谷 P2472 蜥蜴 (最大流)
    Codeforces Round #665 (Div. 2) 题解
    洛谷 P1231 教辅的组成 (三分图匹配,裂点)
    USACO5.4 奶牛的电信Telecowmunication (最小割,割边转割点)
    有关网络流的一些板子题
    洛谷 p2756 飞行员配对方案问题(最大流,二分图匹配)
    JSON.toJSONString中序列化空字符串遇到的坑
    关于mysql自动备份的小方法
  • 原文地址:https://www.cnblogs.com/jiangshengxiang/p/10281329.html
Copyright © 2011-2022 走看看