oracle sequence的用法
oracle sequence的用法1. 什么是sequence?sequence是oracle数据库中所说的序列。 2. 序列有什么用?序列(SEQUENCE)其实是序列号生成器,可以为表中的行自动生成序列号,产生一组等间隔的数值(类型为数字)。其主要的用途是生成表的主键值(*等同于mysql中的AUTO_INCREMENT*),可以在插入语句中引用,也可以通过查询检查当前值,或使序列增至下一个值。 3. 如何使用?
在Sql语句中可以使用sequence的地方: insert into 表名(id,name)values(seq_test.Nextval,'sequence 插入测试');
注:
alter sequence seq_test maxvalue 9999999;
alter sequence seq_test minvalue 0000000;
DROP SEQUENCE seq_test;
- 实例create sequence SEQ_ID minvalue 1 maxvalue 99999999 start with 1 increment by 1 nocache order;
建解发器代码为:
create or replace trigger tri_test_id before insert on S_Depart --S_Depart 是表名 for each row declare nextid number;
begin IF :new.DepartId IS NULLor :new.DepartId=0 THEN --DepartId是列名 select SEQ_ID.nextval --SEQ_ID正是刚才创建的 into nextid from sys.dual;
:new.DepartId:=nextid;
end if;
end tri_test_id;
注: 参考文章 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |