Oracle怎创建自增
2015-09-08 17:30
633 查看
DROP TABLE "Test"; CREATE TABLE "Test" ( "ID" NUMBER(38) PRIMARY KEY , "Name" VARCHAR2(255 BYTE) NULL , ) LOGGING NOCOMPRESS NOCACHE; ----创建序列 DROP SEQUENCE "UpId"; CREATE SEQUENCE "UpId" INCREMENT BY 1 MINVALUE 1 MAXVALUE 9999999999999999999999999999 START WITH 1 NOCACHE ; CREATE OR REPLACE TRIGGER "SSELOSTRECORD" BEFORE INSERT ON "Test" REFERENCING OLD AS "OLD" NEW AS "NEW" FOR EACH ROW ENABLE begin select "UpId".nextval into :new."ID" from dual; end; /
如上所示给出了oracle创建字段ID为自增的Test表的sql语句,首先创建表Test,然后创建序列UpId,设置改序列是从1开始自增,步长为1。
然后设置了触发器,该触发器作用于Test表,每次往Test表中插入记录的时候就触发序列自增,然后插入到Test表中的ID字段。
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。
1、Create Sequence
你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXvalue -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE
相关文章推荐
- ORACLE数据库事务隔离级别
- 关于oracle 12c SQL语句执行结果与11g不一致的问题
- Oracle--sqlplus如何设置SQLPlus结果显示的宽度
- windows下python连接oracle
- Oracle包被锁定的原因分析及解决方案
- oracle保留两位小数解决方案
- Oracle存储过程详解(引用)+补充(转)good
- MAC OS 10.10.X上安装Navicat Premium
- Oracle通过SYS_CONTEXT ()获取用户连接信息
- Oracle中的name
- Oracle 使用物化视图实现表数据同步
- oracle lsnrctl
- Oracle基础语句大全
- 自用—oracle分析函数,合并重复列
- jboss-as-7.1.1.Final 数据源 Oracle DataSource 配置
- Oracle 学习之性能优化(十一)物化视图
- plsql链接oracle Could not load "……\bin\oci.dll"异常
- oracle_load_csv
- Oracle ASCII编码 转字符串
- Oracle数据字典