在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
来源:互联网 发布:linux date 输出格式 编辑:程序博客网 时间:2024/04/30 19:48
首先,我对这个问题做一个进一步的描述,问题是这样的:
在oracle中有一个表id是自动增长的,插入一条记录后,我怎样能获取到这个id呢,前提是,这个表中只有id能唯一标识这一行,其他字段都不行,而自动增长的id我又不知道他是多少,如何得到这个id的值呢。
首先我想到的是用max(rownum)获取,但是这个是不行的,因为这个表有多个人操作,也就是说我在添加一条记录的同时不能保证其他人是否也同时添加了几条记录,我无法保证表中我添加的这条记录是最新的,所以就得想别的办法。
介绍一下sequence(序列),这个可以解决我所描述的这个问题。、
首先要创建一个sequence: create sequence 序列名
increment by n //每次增加几
start with n //从几开始
maxvalue n | nomaxvalue
minvalue n | nominvalue;
例如:create sequence emp_sequence minvalue 1000 maxvalue 99999999 start with 1000 increment by 1 nocache;
一旦定义了emp_sequence,你就可以用CURRVAL,NEXTVAL
CURRVAL=返回sequence的当前值
NEXTVAL=增加sequence的值,然后返回sequence值
比如:
emp_sequence.CURRVAL
emp_sequence.NEXTVAL
可以看如下例子:
INSERT INTO emp VALUES
(empseq.nextval, 'LEWIS', 'CLERK',7902, SYSDATE, 1200, NULL, 20);
SQL中取序列号的用法:
SELECT NCME_QUESTION_SEQ.nextval FROM dual
SELECT NCME_QUESTION_SEQ.CURRVAL FROM dual
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- oracle中插入一条数据id自动增长,插入之后得到这个id
- mysql插入一条数据之后(ID为自动增长列),返回该条数据的ID
- 怎么在插入oracle记录的时候同时得到自动增长的ID值(未解决)
- 插入一条数据,得到该数据的主键Id
- springMVC中jdbcTemplate接口类插入记录后得到自动增长的id
- 如何插入一条记录获取插入后的自动增长ID列的方法.
- 在SQLite数据库中获取新插入数据自增长的ID值(传智播客笔记)
- mybaties+oracle:插入数据,返回自增长的id
- hibernate怎么得到插入数据的主键 或者自动增值的id
- hibernate怎么得到插入数据的主键 或者自动增值的id
- linq插入数据之后获取插入数据的自增长ID
- 怎么向表结构是自增长的表中插入一条数据 SQLCODE=-798, SQLSTATE=428C9, SQLERRMC=ID
- mybatis中插入数据自动返回自增长id的配置
- Oracle id自增长插入
- 【HTML】【CSS】表格设置了table-layout:fixed后第一行合并单元格其下单元格宽度设置不起作用的解决方法
- 迷宫问题:hdoj1242--BFS基本应用
- cron syntax
- Oracle存储过程实例2
- 我的2011,年终大盘点
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- sendmail
- CSDN第三节课的总结
- UAC权限的提权与降权
- 程序员——相忘于江湖
- 切记勿在构造函数里实现复杂逻辑
- 求高手将下面C++代码改成C
- 女孩子写的管用的追女孩的方法_[转载]
- sql语句收集