精华内容
下载资源
问答
  • Oracle一条sql语句插入多条数据

    千次阅读 2019-09-30 11:08:47
    指定字段值插入 insert all into test_insert(user_name,address) values('aaa','henan') into test_insert(user_name,address) values('bbb','shanghai') into test_insert(user_name,address) values('ccc','...
    • 指定字段值插入
    insert all 
    into test_insert(user_name,address) values('aaa','henan')
    into test_insert(user_name,address) values('bbb','shanghai')
    into test_insert(user_name,address) values('ccc','beijing')
    select * from dual;
    
    
    • 全部插入
    insert all 
    into test_insert values('aaa','henan')
    into test_insert values('bbb','shanghai')
    into test_insert values('ccc','beijing')
    select * from dual;
    
    
    展开全文
  • oracle一插入多条数据(insert all)

    万次阅读 多人点赞 2018-04-19 15:43:24
    问题 公司的项目,有功能每次使用需要向数据库插入很多数据,导致页面等待很长...改成插入多条数据,id通过触发器自动设置,不再每次先查询sequence,效率提高非常多。 oracle一插入多条的方法 在oracle...

    分享一个零基础,通俗易懂,而且非常风趣幽默的人工智能教程(如不能直接点击访问,请以“右键”->“在新标签页中打开链接”方式打开)网站,网址:https://www.cbedai.net/gnailoug/

    问题

    公司的项目,有个功能每次使用需要向数据库插入很多数据,导致页面等待很长时间才有结果。
    数据库:oracle11g
    id:采用sequence自增
    每次循环,都会查询一次sequence,然后insert一条数据,性能非常低。

    改进

    改成一次插入多条数据,id通过触发器自动设置,不再每次先查询sequence,效率提高非常多。

    oracle一次插入多条的方法

    在oracle里面,不支持像mysql那样直接在后面拼多个记录。oracle中有两种方法达到批量插入的效果:

    方法一:采用union all拼接查询方式

    本文不做详细介绍,可在网上查看相关资料。

    insert into pager (PAG_ID,PAG_PARENT,PAG_NAME,PAG_ACTIVE)
              select 8000,0,'Multi 8000',1 from dual
    union all select 8001,0,'Multi 8001',1 from dual
    

    ##方法二:采用insert all的方式
    由于insert all方式插入多条时,通过sequence获取的值是同一个,不会自动获取多个,所以id需要通过其他方式设置,(我这里采用触发器方式自动设置id)

    1、创建测试表:

    create table test_insert(
           data_id number(10) primary key,
           user_name varchar2(30),
           address varchar2(50)
    )
    

    data_id为主键,通过sequence产生主键值。

    2、创建序列:

    create sequence seq_test_insert 
    minvalue 1
    maxvalue 999999999999999999999999
    start with 1
    increment by 1
    cache 20;
    

    3、创建触发器
    通过触发器自动给insert语句设置id值

    create or replace trigger tr_test_insert
    before insert on test_insert
    for each row
    begin
      select seq_test_insert.nextval into :new.data_id from dual;
    end;  
    

    4、插入测试数据:

    insert all 
    into test_insert(user_name,address) values('aaa','henan')
    into test_insert(user_name,address) values('bbb','shanghai')
    into test_insert(user_name,address) values('ccc','beijing')
    select * from dual;
    

    相当于下面三个insert into语句,但性能比单条高多了。

    insert into test_insert(user_name,address) values('aaa','henan');
    insert into test_insert(user_name,address) values('bbb','shanghai');
    insert into test_insert(user_name,address) values('ccc','beijing');
    

    需要注意的是,在insert all语句里不能直接使用seq_test_insert.nextval,因为即便每个into语句里都加上seq_test_insert.nextval也不会获得多个值。

    5、查看测试数据

    select * from test_insert;
    

    结果如下图:
    这里写图片描述

    另外,insert all还支持往不同的表里插入数据,如:

    insert all 
    into table1(filed1,filed2)values('value1','value2')
    into table2(字段1,字段2,字段3) values(值1,值2,值3)
    select * from dual;
    

    分享一个零基础,通俗易懂,而且非常风趣幽默的人工智能教程(如不能直接点击访问,请以“右键”->“在新标签页中打开链接”方式打开)网站,网址:https://www.cbedai.net/gnailoug/

    展开全文
  • insert into user_role select a.sys_role_id,b.sys_user_id from (select s.sys_user_id from sys_user s where s.user_acct = 'SUPPORT_HQ') b , (select s.sys_role_id from sys_role s where s.role_name 
    insert into  user_role  
    
    select a.sys_role_id,b.sys_user_id from
    (select s.sys_user_id from sys_user s where s.user_acct = 'SUPPORT_HQ') b ,

    (select s.sys_role_id from sys_role s where s.role_name in ('UO_%_SUPPORT','UO_%_SUPPORT_QRY','UO_%_PUSH')) a ;

    展开全文
  • 插入多条数据,注意不能直接使用insert into test values(1,'a'),(2,'b')之类的语句,应该使用以下语句1234567insert all into test values(1,'a') into test values(2,'b') select 1 from d...

    例如我有一个test表

    create table (stuid int,name varchar(20);

    插入多条数据,注意不能直接使用insert into test values(1,'a'),(2,'b')之类的语句,应该使用以下语句

    1
    2
    3
    4
    5
    6
    7
    insert  all
     
    into  test  values (1, 'a' )
     
    into  test  values (2, 'b' )
     
    select  from  dual;        #这句不知道有什么用处,但是缺少也不行
    展开全文
  • ibatis 迭代插入:(提高插入效率,一条条插入10003分钟,用这900033秒)  INSERT  INTO test (  tddid,  name  )   select   sequence_id.nextval,  name  from   (" ...
  • 这样多条语句就可以串联执行了,恩。 begin insert into testtable (id, temp)values (1, '1111111111'); insert into testtable (id, temp)values (2, '1111111111'); insert into testtable
  • Oracle 中,我们可以通过 INSERT ALL 语句实现一条 INSERT 语句一个或多个表中插入多条数据。 语法 Oracle / PLSQL 中 INSERT ALL 语句的语法为: INSERT ALL INTO myTable (column_1, column_2, COLUMN_n) ...
  • Oracle 中 insert 同时插入多条数据1. 语句2. Mybatis 1. 语句 Oracle 与 Mysql 不同. 多条插入命令不一样. INSERT ALL INTO t_table ("col1", "col2", "col3") VALUES ('val1', 'val2', 'val3') INTO t_table (...
  • Oracle一插入多条数据

    千次阅读 2020-01-17 16:16:07
    Oracle一插入多条数据 oracle不像mysql那样可以在values后面添加多插入的值,mysql具体操作 mysql插入多条数据 -- mysql插入多行代码 insert into CB_PRACTICE(id_, type_,remark) values (5,'物理','浮力'),(6,...
  • 主要给大家介绍了关于oracle通过1条语句插入多个值的方法,文中通过示例代码介绍的非常详细,对大家学习或者使用oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
  • Oracle同时插入多条数据修正语句

    千次阅读 2019-04-28 22:02:46
    网址58~80行,正确语句 INSERT ALL INTO SPJ (SNO,PNO,JNO,QTY) VALUES ('S1','P1','J1',200) INTO SPJ (SNO,PNO,JNO,QTY) VALUES ('S1','P1','J3',100) INTO ...
  • 目标:插入某表,三个字段 ,第一个字段为uuid,第二个字段定死,第三个字段为另表的的一个字段。 首先错误示范: insert into s_module_function_info (module_function_id,module_id,function_id) values(sys_...
  • INSERT ALL INTO TEST VALUES(1,2,3,4) INTO TEST VALUES(5,6,7,8) SELECT 1 FROM DUAL;
  • Oracle sql批量插入多条数据

    千次阅读 2019-06-14 18:10:34
    Oracle插入多条的方法 在Oracle里面,不支持像mysql那样直接在后面拼多记录。Oracle中有两方法达到批量插入的效果 方法:采用union all拼接查询方式 insert into pager (PAG_ID,PAG_PARENT,PAG_...
  • oracle中有没有往一个表里面一次性插入多条数据语句~
  • 不同于MySQL的 insert into A values(a,b,c),(d,e,f).....ORACLE插入多条语句语法如下: 注意,没有values INSERT INTO CC_DEV_CI c (c. ID, c.ci_name) SELECT 1, '11' FROM dual UNION SELECT 2,'11' FROM...
  • Oracle:批量插入多条数据

    千次阅读 2019-08-29 13:59:41
    Mysql中可以这样: insert into test_table (id, name, age) values (1, '...以上语句不能在oracle数据库运行。 Oracle中可以这样: insert all into test_table (ID, NAME, AGE) values ('1', 'ab', 23) into test...
  • Oracle 数据仓库 ETL 技术之插入语句

    千次阅读 多人点赞 2021-04-09 21:48:07
    本文介绍了 Oracle 数据仓库 ETL 流程中使用的表插入语句,具体内容涉及了无条件的 INSERT ALL 语句插入多行数据到单个表或者多个表,无条件的 INSERT ALL 语句还实现列转行(PIVOT),有条件的 INSERT ALL 语句...
  • Oracle中如何插入多条数据

    千次阅读 2019-07-20 14:52:00
    有时候,需要批量插入多条数据的时候如何使用下面的方式插入会报错的。 INSERT INTO mytable (column1, column2, column_n) VALUES (expr1, expr2, expr_n) INSERT INTO mytable (column1, column2, column_n) ...
  • 文章目录纯情少男翻车掰直最终结果:特别说明: 纯情少男 经常使用MySQL数据库我想要数据库里批量插入一些数据条INSERT语句插入批量数据的写法为: ...可是,我仍然想要次性插入多条记录,方
  • oracle插入多条语句(转载的)

    千次阅读 2017-08-15 10:04:02
    insert into 表名(字段1,字段2)  select '','二' from dual union all select '三','四' from dual union all select
  • 此脚本介绍了使用过程插入多条(最多100000000)数据的方法,是oracle入门的宝贵资源,在sqlplus中使用@+路径+文件名来执行;如:@E:\procedure.sql
  • oracle 次sql插入多条记录

    万次阅读 2018-07-27 19:25:03
    假如我有一个学生信息表,创建的表结构如下: ...熟悉MySQL数据库的可能知道,如果你想要批量插入一些数据,一INSERT语句插入批量数据的写法为: INSERT INTO[表名]([列名],[列名]) VALUES([列值],...
  • mysql多条插入语句 转换成 oracle语句 不同数据库之间数据的导入导出,是经常遇到的事,今天得到一个mysql数据库导出得sql文件,需要将其导入oracle数据库,可以有很多种方法,和同学交流下来, 如果有mysql数据库...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 84,491
精华内容 33,796
关键字:

oracle一个语句插入多条数据