当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle 自增(auto increment) 或 标识字段的建立方法

Oracle
Oracle数据库处理时间的技巧
Oracle数据库重复数据删除的三种情况
Oracle和SQL Server分析挖掘函数
Oracle数据库备份与恢复(6):LogMiner
Oracle数据库备份与恢复(5):Flashback
Oracle数据库备份与恢复(4):RMAN(备份与恢复管理器)
Oracle数据库备份与恢复(3):OS备份和用户管理
Oracle数据库备份与恢复(2):SQL*Loader
Oracle数据库备份与恢复(1):exp和imp
Oracle数据库文件恢复与备份思路
Oracle中利用EXP/IMP工具实现数据迁移
Oracle中Exp/Imp大量数据处理
ORACLE的外连接
sqlserver与oracle的区别
SQLite数据库最适合做网站内容管理系统(CMS)
网站主机教程(7):网站主机的数据库技术
Oracle10G认证考试自2008年12月1日变化
什么是Oracle?oracle认证种类介绍
MSSQL数据库镜像在Oracle中是如何实现的
Oracle数据库维护中的前瞻性

Oracle 自增(auto increment) 或 标识字段的建立方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 93 ::
收藏到网摘: n/a

SQL SERVER 和 ACCESS 以及 MYSQL 中, 都有一种 自增字段, 通常被用来做 主键 或 索引键, 但是 ORACLE 中,确并没有提供这种字段类型(实际并不是一种字段类型) ,但我们确经常需要这个功能。 下面给出ORACLE的一种实现方式,要分2步走:
1. 建立 SEQUENCE CREATE [ OR REPLACE ] SEQUENCE sequence_identity START WITH initial seed INCREMENT BY step MAXVALUE upper bound [NOMAXVALUE] NOCYCLE [empty]
2. 建立 TRIGGER CREATE [ OR REPLACE ] TRIGGER trigger_identity BEFORE INSERT ON table_name FOR EACH ROW BEGIN SELECT sequence_identity.NEXTVAL INTO :new.column_name FROM DUAL; END;
说明:
为了尽量避免 sequence 同名冲突, sequence_identity 命名方式,建议采取
SEQ_UserName_TableName_SequenceName 的形式
trigger_identity 的命名方式,同上。