oracle和mysql不同。没有自增长字段auto_increment,可以通过序列和行触发器实现
1、建立数据库测试表
CREATE TABLE TEST( ID NUMBER(12) PRIMARY KEY, NAME VARCHAR2(20) );
2、创建自增长序列
CREATE SEQUENCE test_seq INCREMENT BY 1 START WITH 1 --从1开始 NOMAXVALUE --不设最大值 NOCYCLE --不循环 NOCACHE;
3、创建触发器
CREATE TRIGGER increase_test BEFORE INSERT -- ON TEST FOR EACH ROW BEGIN SELECT test_seq.Nextval INTO:NEW.ID FROM DUAL; END;
定义受到影响的各行触发器.这些触发器称为行触发器
行触发器的定义方式与语句触发器类似,但是有以下两个例外
1、行触发器要在定义的触发语句中包含for each row子句,还可以包含referencing语句
2、在before...for each row触发器中,可以引用受到影响的行值
在行触发器中,用户能够访问受到影响的行值。通过引用具有相关名称的列,即可以获取语句执行前的值和语句执行后的值。前映象(before image)的默认名称是:old,后映象(after image)的默认名称是:new
在insert触发器中,只可以使用:new值。由于以前没有存在这些行,所以不能够有:old.与此相反,在delete触发器中,则没有:new,只有:old, update触发器具有前映象:old和后映象:new
4、测试数据
INSERT INTO TEST(NAME) VALUES('JASON'); INSERT INTO TEST(ID,NAME) VALUES('8888','MARRY'); INSERT INTO TEST(NAME) VALUES('LISA');
然后提交 commit;
5、查看表数据
ID NAME 1 1 JASON 2 2 MARRY 3 3 LISA
说明:示例引用了:new.ID的值,并且把test_seq.nextval的值直接赋予:new.ID,这样,无论是否为ID列提供值,这种技术都使得该列取自test_seq.nextval
相关推荐
oracle数据库中主键属性没有自增长,所以只能自己写程序来实现,用序列与触发器,可以解决这个 问题
oracle触发器实现主键自动增长操作
oracle序列主键自增长实现主键自动增长
oracle设置主键自动增长 首先,你要有一张表! 然后,你需要一个自定义的sequence 以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle...
oracle创建表时主键自动增长方法 5 测试反复执行如下语句:insert into Test_Increase(Username) values('test')6 查看插入结果:userid username1 test2 test3 test4 test5 test6 test7 test8 test9 test
Oracle数据库创建表tuser设置主键自动增长,先创建表,然后创建基于该表的队列。
oracle设置主外键即主键序列自动增长
( 使用powerdesigner创建oracle_数据库表,设置表主键列为自动增长.doc )
oracle 自增长主键.docoracle
教你如何使用oracle中的sequence,实现主键自动增长
本篇文章是对Mysql,SqlServer,Oracle主键自动增长的设置进行了详细的分析介绍,需要的朋友参考下
在hibernate中实现oracle的自动增长
用于oracle新手解决表的主键如何实现自增长,表结构设计的示例
Oracle与Mysql不同,不能在CREATE建立表时设置自动增长列功能。 Oracle必须通过创建sequence序列来实现自动增加列的功能。 首先要建立序列(当然必须要先建好表,添加好主键约束,这列假设约束名为test_sequence) ...
给大家分享MyBatis Oracle 自增序列的实现方法及mybatis配置oracle的主键自增长的方法,非常不错具有一定的参考借鉴价值,感兴趣的朋友一起看看吧
Oracle自增长主键自动生成类 public static int nextID String table { if table null return 1; table table toLowerCase ; String strKey table; if sequences containsKey strKey { ...
主键自增在插入数据的时候是很实用的,可以获取并操作返回的插入记录的ID,接下来介绍Oracle如何创建主键自增表,感兴趣的你可以了解下,就当是巩固知识,希望此文对你有所帮助