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

    
    
  • 相关阅读:
    推荐vue脚手架工具 vue-cli
    React仿大众点评外卖app
    推荐一个react脚手架工具
    eclipse 中配置php的 XDebug调试
    再谈extjs4.1中gridpanel动态表头动态列
    控制extsj4.1 gridpanel表格行或者单元格的编辑
    windows8.1 app所有默认样式
    windows8.1 app样式定义使用
    windows8.1 app入门开发学习
    Silverlight Tools 语言不匹配问题
  • 原文地址:https://www.cnblogs.com/jiangshengxiang/p/10281329.html
Copyright © 2011-2022 走看看