Oracle筆記(六) 序列 觸發器實現欄位自增

2021-09-09 07:32:01 字數 1456 閱讀 1290

建立工作表 tb_emp

create table tb_emp

( id number(11) not null,

name varchar2(25),

deptid number(11),

salary number(9,2)

);alter table tb_emp add constraint pk_emp_id primary key(id);

建立序列 seq_t_emp

create sequence seq_t_emp 

increment by 1

minvalue 1

nocycle

nomaxvalue

start with 1

cache 50

order;

--drop sequence seq_t_emp;

各屬性:

自增1;最小值1;不迴圈;最大值無限制;開始於1;快取記憶體大小50; 

select seq_name.[currval|nextval] from dual;
建立觸發器 emp_trig

create or replace trigger emp_trig

before insert on tb_emp

for each row

begin

select seq_t_emp.nextval into :new.id

from dual;

end;

alter trigger emp_trig enable;

直接插入資料,不需要手動新增id值了

insert into tb_emp(name,deptid,salary) values('simon',21,9800.00);

insert into tb_emp(name,deptid,salary) values('leo',20,19099.00);

insert into tb_emp(name,deptid,salary) values('polo',21,7600.00);

insert into tb_emp(name,deptid,salary) values('sysn',25,9856.00);

insert into tb_emp(name,deptid,salary) values('yyyy',23,9527.00);

insert into tb_emp(name,deptid,salary) values('***xx',20,7798);

查詢結果如下:

ORACLE觸發器 行級觸發器

行級觸發器 本章介紹行級觸發器機制。大部分例子以insert出發器給出,行級觸發器可從insert update delete語句觸發。1 介紹 觸發器是儲存在資料庫已編譯的儲存過程,使用的語言是pl sql,用編寫儲存過程一樣的方式編寫和編譯觸發器。下面在sql plus會話中建立和示例乙個簡單的...

04 序列和觸發器

oracle當中序列是一組連續且不重複的值,一般用於主鍵的自增。觸發器是乙個特殊的程式,當觸發某個事件時會自動執行,使用者不能直接呼叫,主要用於對資料庫的特定操作或系統事件進行監聽並響應。建立乙個序列,從1開始,每次增加1 create sequence myseq increment by 1 s...

Oracle觸發器 序列小筆記

create table student info 建立student表 id number 19 id stu no varchar2 20 學號 stu name varchar2 32 姓名 stu age number,年齡 stu major varchar2 32 專業 create t...