序列和触发器

建立序列后,还需要触发器,在插入的时候,新增自增

create sequence "seq_unit"
 increment by 1
start with 1
minvalue 1
maxvalue 999
 cycle
nocache
order;
CREATE OR REPLACE TRIGGER "TRI_UNIT_BEFORE_INSERT" BEFORE
       INSERT ON TBL_UNIT FOR EACH ROW
BEGIN
       SELECT SEQ_UNIT.NEXTVAL INTO :NEW.UNIT_ID FROM DUAL;
END;
时间: 2024-08-15 22:42:28

序列和触发器的相关文章

Oracle中序列及触发器使用

总结一下这次使用的序列和触发器,也把相应的一些操作用了一下.遇到的问题比较奇葩,仅供参考. 一.序列部分(网上的) 1.建立序列SEQUENCE create sequence user_seq increment by 1 start with 1 minvalue 1 maxvalue 9999999999999 nocache order; 语法: CREATE SEQUENCE s_id NOMAXVALUE NOCYCLE --INCREMENT BY 1    -- 每次加几个 --

用存储过程 给表增加序列与触发器

存储过程如下: create or replace procedure p_createseq(tablename in varchar2,key in varchar2) Authid Current_User --使用角色权限,否则无法创建序列或表 is strsql varchar2(500); t_key varchar2(500); begin --创建序列 strsql:='create sequence seq_'||tablename|| ' minvalue 1000 maxv

Oracle序列和触发器的使用

Oracle不能直接设定某字段自增,需要通过建序列和触发器,实现主键的自增功能 一.序列 1,建序列 序列的语法格式为: CREATE SEQUENCE name //name为序列的名称 [INCREMENT BY n] //n序列的步长 [START WITH n] //n序列的初始值 [{MAXVALUE / MINVALUE n | NOMAXVALUE}] //n序列的最大值或最小值 [{CYCLE | NOCYCLE}] //序列达到最大值时是否循环 [{CACHE n | NOCA

oracle 主键应用序列和触发器实现自动增长

oracle 主键自动增长 这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create table simon_example ( id number(4) not null primary key, name varchar2(25) ) -- 建立序列: -- Create sequence create sequence SIMON_SEQUENCE minvalue 1 maxvalue 999999999999999999999999999 start with 1

Oracle中用序列和触发器实现ID自增

在设计数据库的时候,Oracle中没有类似SQL Server中系统自动分配ID作为主键的功能,这时Oracle可以通过"序列"和"触发器"来实现ID自动增加的功能. 1.创建序列Sequence create sequence seq_uid increment by 1 start with 1 nomaxvalue nocycle cache 10 ; 其中:"seq_uid"表示自定义的序列名称: "start with 1&q

简单创建序列和触发器示例

自定义序列(sequence): CREATE SEQUENCE example_sequence INCREMENT BY 1 -- 每次加几个 START WITH 1 -- 从1开始计数 NOMAXVALUE -- 不设置最大值 NOCYCLE -- 一直累加,不循环 NOCACHE -- 不建缓冲区 创建触发器: --例1 CREATE TRIGGER example_triger BEFORE INSERT ON example FOR EACH ROW WHEN (new.id is

Oracle 数据库中序列结合触发器实现主键自增长

一.数据表名称为T_OFFICE,其主键为PID(number类型) 二.首先为数据表的PID字段创建序列 序列名称:S_T_OFFICE_PID 序列详细内容: 三.创建相应的触发器 触发器名称:T_OFFICETRIGER 触发器具体内容: create or replace TRIGGERHYMGS_INDUSTRY_FQ6.T_OFFICETRIGER BEFORE INSERT ON HYMGS_INDUSTRY_FQ6.T_OFFICE FOR EACH ROW BEGINselec

oracle 主键生成策略-sequence序列+trigger触发器

oracle中设置表的主键字段为自增序列(实例)1.首先创建一个表(如日志表) //删除库表中存在的日志表drop table S_LOG_INFO cascade constraints;//新建日志表create table S_LOG_INFO ( PRIMARYKEY NUMBER not null,//主键 USERACCOUNT VARCHAR2(50),//操作用户账号 USERNAME VARCHAR2(100),//操作用户 OPERATIONTIME DATE,//操作时间

Oracle实现自增方式:序列+触发器

Oracle不能像MySQL那样设置主键自增,Oracle用 <序列+触发器>的方式使数据表的一列或多列实现自增 序列sequence+触发器trigger:实现数据表S_DEPART中的主键的自增 PL/SQL图示: 1.创建数据表,如下,DEPARTID是主键 2.创建序列Sequences 在oracle中sequence就是序列,每次取的时候它会自动增加. sequence与表没有关系,也就是,其他表都可以引用这个sequence INCREMENT BY  -- 每次加几个 STAR