Oracle批量插入数据(2条数据以上),自己如何根据规则生成唯一标识ID?

作者&投稿:弥贩 (若有异议请与网页底部的电邮联系)
往oracle数据库中新增加一条数据如何自动生成ID~

oracle 中不能设置自动增加,这个和其他数据库不一样,但是有 序列,这个是Oracle自己特有的东西,
首先创建序列:
create sequence seq;
这就创建好了,然后 seq.nextval 就会返回一个值,不会重复的值,
insert into tablename values(seq.nextval,'001','javabook');
insert into tablename values(seq.nextval,'001','javabook');
insert into tablename values(seq.nextval,'001','javabook');
这样前3个id 分别是 1,2,3

数据里新建一个ID字段,将这个字段的属性设为非空值,数字型,自动增长。
这样你在insert的时候,数据库会自动插入这个ID,从1开始自己加1。

跟你一个解决办法吧

1. 创建一个序列

CREATE SEQUENCE SEQ_DEMO
INCREMENT BY 1
START WITH 0
NOMAXVALUE
NOCYCLE
NOCACHE;

2. 替换触发器赋值部分

:NEW.ord_id := to_char(sysdate,'yyyyMMdd') || lpad(to_char(mod(SEQ_DEMO.nextval,1000)),3,'0')



HIBERNATE处理ORACLE批量插入的问题
定义 javax.persistence.SequenceGenerator(name="SEQ_GEN",sequenceName="student_sequence",allocationSize=100 )也就是定义你save对象使用的sequence,将allocationSize越接近你同时插入的数据,就会越快。

如何通过c++调用OCI向Oracle快速插入大量数据,并且每条记录的值都不...
你的插入方式可以全部写入到文件里面,用sqlldr+ctl文件方式导入。如果用内存插入,就用绑定变量方式把一条记录处理好后插入。

如何向Oracle数据库表中进行大数据量的插入并提交?
2013-08-30 如何实现oracle数据库大数据增量操作 1 2016-07-18 oracle 怎么把一张表里的大量数据全部插入另一张表里 2013-08-22 oracle中执行插入语句(假设插入大量数据)过程中如何检查... 2 2012-06-03 向Oracle数据库表中插入1000000条记录什么方法比较... 7 2016-03-12 Oracle 批量插入数据怎么做 ...

mybatis 批量插入时报错:ORACLE ORA-00933: SQL 命令未正确结束_百度知 ...
批量插入时,如果没有主键,一定要显式指定useGeneratedKeys为false,否则会报: SQL 命令未正确结束 useGeneratedKeys="true"时:只需要把useGeneratedKeys="false"就好。

从oracle数据库查询数据生成xml,java解析xml文件的数据批量插入到...
插入数据库,改了几个条件 bookstore.xml文件如下 <?xml version="1.0" encoding="UTF-8"?> <bookstore> <book has="100"> 数据库 <price>33.80元<\/price> <date>2009-10-1<\/date> <\/book> <book has="95"> 三国演义 <price>40.00元<\/price> <date>2005-1-7<\/date> <\/book>...

使用Mybatis,在Oracle 数据库中批量插入数据,同时能返回主键到对应实体...
你的id是用seq生成的吗?是的话: select seq_sample.nextval from dual

如何读取txt文件json数据批量插入oracle
打开文件 fopen("需要打开的路径")然后使用fgets函数读取行 include <stdio.h> include <stdlib.h> include <string.h> define MAX_LINE 1024 int main(){ char buf[MAX_LINE]; \/*缓冲区*\/ FILE *fp; \/*文件指针*\/ int len; \/*行字符个数*\/ if((fp = fopen("test.txt","r...

Oracle 过程中批量插入数据没有成功,求救啊! 由于字数限制 下面我只 ...
你程序里面肯定有异常捕获.因为发生了错误,就直接跳到异常那里去了.你把捕获异常的句子注释掉,再跑试试.

oracle语句insert into select如何加后续插入条件?
oracle中有批量插入语句insert into tableA (列1,列2,列3) select 列1,列2 from tableB。现在问题是这样的,tableA有3列,而通过最后的select语句所能获得的列只有列1和列2。但列3是非空的,所以插入时必须填写。 A中有3例,B表中你只能获得2列,可以用常量占位解决insert into tableA (列1,列2,列3) ...

紧急 求Oracle批量快速插入数据的方法
不知道第二种方法你是否使用了forall 子句,应该比普通的for循环快不少,节省很多redo的产生。还有一种方法,就是使用sql*loader或者外部表的方式。

蓝田县15398698428: 如何向oracle中批量插入数据 -
张荷蓖麻: 您好,提问者: 1、使用变量替换,比如:insert into XX values(&id, '&name'); 2、把sql写入文本中,就是insert into ....,关闭oracle的反馈 set feedback off; -- 关闭oracle的自动反馈 @D:\insert.txt-- 或者 start D:\insert.txt

蓝田县15398698428: Oracle 批量插入数据怎么做 -
张荷蓖麻: Oracle 批量插入数据的方法: 1 创建表 create table emp (id number(4),name varchar2(10));2 创建序列 create sequence my_seq increment by 1 start with 1 maxvalue 1000;3 创建获取序列的函数 create or replace function get_seq return number ...

蓝田县15398698428: 如何在oracle数据表中一次性插入多条记录? -
张荷蓖麻: 看是什么样子的插入法.如果是从其他的表导入那么用insert into+表名(字段)(字段入围全部可以不写)+as select+字段+from+数据来源表名 where+条件;(注意:前后字段顺...

蓝田县15398698428: 如何在oracle数据库中的表里批量插入记录 -
张荷蓖麻: 方法1.用sql server的“导入和导出数据”,我做项目的使用搞数据迁移就是用那玩意,配两个数据源(Oracle、SQLServer各一),然后根据表也行、跟住SQL语句也行 方法2.SQL查询分析器打开,查询出来结果复制,用PLSQL打开oralce的表,粘贴进去

蓝田县15398698428: oracle中用一条sql语句插入两条数据?要能实现的语句,最好有例子. -
张荷蓖麻: CREATE TABLE test_main (id INT NOT NULL,value VARCHAR(10),PRIMARY KEY(id) );INSERT INTO test_main(id, value) SELECT 1, 'ONE' FROM dual UNION ALL SELECT 2, 'TWO' FROM dual;

蓝田县15398698428: oracle表批量插入数据 -
张荷蓖麻: 两种方法1. 使用pl/sql developer http://blog.csdn.net/taomanman/article/details/4756990 这种方法比较简单,我曾经这么一次导入过几万条记录2.sqlldr 首先将你的excel文件另存为csv格式(默认逗号间隔,另存为csv,不只是改后缀名) 然后用...

蓝田县15398698428: oracle数据库 批量将原有数据表中数据插入新表 -
张荷蓖麻: 可以通过insert into …… as select 语句来进行实现.sql:insert into tablename2( id,name) as select id ,name from tablename2 where 条件语句.备注:以上语句中插入的字段顺序必须要和查询的语句的顺序保持一致,否则会报错,如果有条件语句的话,可以增加 where条件.

蓝田县15398698428: 紧急 求Oracle批量快速插入数据的方法 -
张荷蓖麻: 不知道第二种方法你是否使用了forall 子句,应该比普通的for循环快不少,节省很多redo的产生.还有一种方法,就是使用sql*loader或者外部表的方式.

蓝田县15398698428: oracle存储过程怎样批量插入新数据 -
张荷蓖麻: 需要生成的SQL insert into TMP_UPSTATE_CASEKEY values('TMP0000001', 1, sysdate); 存储过程实现 create or replace procedure proc_casekey_upstate as casekey char(14); begin for i in 1..10000000 loop casekey := 'TMP'||lpad(i,7,0); -- ...

蓝田县15398698428: oracle如何同时向2张表中插入数据 -
张荷蓖麻: 可以用一句insert all ,有条件插入不同表,你搜索一下 oracle insert all

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网