oracle通過序列和觸發器實現自增主鍵

2021-07-29 11:53:26 字數 952 閱讀 9652

建立表

create table user_tr(

id int primary key,

name varchar2(10),

gender varchar2(2),

phone number(11),

address varchar(20)

)建立表的序列

create sequence seq_user

start with 1

increment by 1

nocache;

建立觸發器

create or replace trigger tr_user

before insert on user_tr

for each row when(new.id is null)

begin

select user_seq.nextval into:new.id from dual;

end;

通過插入資料測試成功

insert into user_tr(name,gender,phone,address) values('劉能','男',13071519901,'象牙山');

insert into user_tr(name,gender,phone,address) values('趙四','男',13074519901,'黃山');

insert into user_tr(name,gender,phone,address) values('香秀','女',13074519901,'觀音山');

insert into user_tr(name,gender,phone,address) values('小劉能','女',13071514961,'普陀山');

insert into user_tr(name,gender,phone,address) values('劉大能','男',13071514451,'峨眉山');

Oracle 序列,觸發器

序列是什麼 序列就是按照一定的規則,不斷增長 不斷減少 的乙個數字 用於我們資料庫表裡 作為資料的乙個唯一標識。序列的語法 建立序列 create sequence seq objid 建立乙個名稱為seq objid 的序列 increment by 1 每次增長1 1,2,3,4,5,6,7,s...

通過序列和觸發器實現Oracle主鍵自增長

create table increase test id number notnull primary key,name varchar2 10 age number 首先要給需要自增的表建乙個專屬的序列,畢竟大家都用乙個序列豈不是要亂掉。create sequence seq increase ...

Oracle通過觸發器和序列的方式實現自增

觸發器格式 create or replace trigger 觸發器名字 before insert on 資料表名字 for each row declare nextid number begin if new.自增的列名 is null or new.自增的列名 0 then select ...