oracle数据库ID自动增长
2010-12-21 15:01
253 查看
很多商用数据库都有随着记录的插入而表的ID自动增长的功能,而oracle却没有这样的功能,但这并不影响我们的使用,我们可以用序列和触发器来实现这样的功能。
举一个实例来说明使用方法。
1、首先要建立一个序列,sql语句如下。
create sequence msg_SEQ
minvalue 1
maxvalue 999999999999999999
start with 601
increment by 1
cache 20;
2、建立触发器,
CREATE OR REPLACE TRIGGER "msgautoid_trig"
BEFORE INSERT ON msg
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
DECLARE
BEGIN
SELECT msg_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END msgautoid_trig;
3、建立表
create table msg
(
ID NUMBER not null,
USERID NUMBER,
USERNAME VARCHAR2(200),
DEPTID NUMBER
)
这三步之后,你就可以使用自动增长的ID了。
举一个实例来说明使用方法。
1、首先要建立一个序列,sql语句如下。
create sequence msg_SEQ
minvalue 1
maxvalue 999999999999999999
start with 601
increment by 1
cache 20;
2、建立触发器,
CREATE OR REPLACE TRIGGER "msgautoid_trig"
BEFORE INSERT ON msg
REFERENCING OLD AS OLD NEW AS NEW FOR EACH ROW
DECLARE
BEGIN
SELECT msg_seq.NEXTVAL INTO :NEW.ID FROM DUAL;
END msgautoid_trig;
3、建立表
create table msg
(
ID NUMBER not null,
USERID NUMBER,
USERNAME VARCHAR2(200),
DEPTID NUMBER
)
这三步之后,你就可以使用自动增长的ID了。
相关文章推荐
- oracle数据库建表、修改字段名称类型、增加字段、ID自动增长写法
- Oracle数据库ID自动增长的触发器
- 如何在oracle数据库中设置自动增长的id字段
- oracle数据库ID自动增长
- mysql实现id自动增长
- hibernate oracle ID自动增长的实现
- MySQL数据库--怎样创建一张用户表,ID设置为自动增长列(新手必会)
- 取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的
- oracle 自动增长更新id
- mybatis 自动增长id保存后得到id
- 解说Oracle数据库自动增长列的完成过程
- xml id自动增长
- 为Oracle数据库表创建自动增长序列及Oracle的常见操作
- Oracle数据库中 编号自动增长的实现
- 如何插入一条记录获取插入后的自动增长ID列的方法.
- oracle建表并设置ID为自动增长
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
- 主键的SQL语法 id自动增长 为主键的 删除报错
- 写出一条Sql语句:取出表A中第31到第40记录(SQLServer,以自动增长的ID作为主键,注意:ID可能不是连续的。
- Oracle与Mysql自动增长列(id)的区别