Oracle建立主鍵並實現自增

2021-08-22 03:19:35 字數 1327 閱讀 6163

1、建立資料庫表 設定主鍵

create table users(

userid number(10) primary key, /*主鍵,not null*/

username varchar2(20)

);附  刪除表:drop table users;

2、建立序列自增

create sequence user_sequence

increment by 1 -- 每次加幾個 

start with 1 -- 從1開始計數 

nomaxvalue -- 不設定最大值 

nocycle -- 一直累加,不迴圈 

cache 100; 

附  刪除序列: drop sequence user_sequence

建立好序列之後,就手動可以新增資料了,可以多執行幾次

insert into users(userid ,username ) values(user_sequence.nextval,'小a');

查詢表資料看看效果

select userid ,username from users

3、實際開發中建立觸發器實現自增!

create or replace trigger users_trigger    --users_trigger    觸發器名稱

before insert on users                  --users是表名

for each row

declare

nextid number;

begin

if :new.userid is null or :new.userid=0 then                 --userid是列名

select user_sequence.nextval                                              --user_sequence 正是剛才建立的序列

into nextid

from sys.dual;

:new.userid:=nextid;

end if;

end users_trigger ;                                       --users_trigger  觸發器名稱

附 刪除觸發器:drop trigger users_trigger;

再次插入資料試試效果吧!!!!

insert into users(username ) values('小b');

Oracle建立表並實現主鍵自增

create table user id number 10 primary key,uname varchar2 50 not null,pwd varchar2 32 tel varchar2 11 email varchar2 50 create sequence user seq incre...

Oracle建立自增主鍵

create table scott student test sno number visible not null sname varchar2 255 byte visible varchar2 255 byte visible born varchar2 255 byte visible g...

Oracle 建立表並設定主鍵自增

建立資料庫 create table student id number primary key,name varchar 200 not null,varchar 200 create date date 指定表名注釋 comment on table student is 學生表 指定列注釋 c...