oracle中如何指定表字段自增

2021-09-07 08:14:26 字數 1212 閱讀 1468

背景介紹:

sql server可以在int型別的字段後加上identity(1,1),該字段就會從1開始,按照+1的方式自增,將這個字段設定為主鍵,有利於我們進行資料的插入操作。mysql中可以使用「auto_increment」即可。但是oracle有點麻煩,需要使用序列和觸發器達到目的。

--學校表

create table school(sid number(4),sname varchar2(400 char), check_status number(1) default 0 check( check_status in(0,1)),accountant varchar2(20 char),pwd varchar2(20 char),email varchar2(30 char),photo_path  varchar2(800 char),

constraint pk_t_school primary key(sid));

-- 序列   (序列與觸發器實現school表中sid欄位的自動增長)

create sequence shool_sid_autoinc

minvalue 1

maxvalue 9999999999999999999999999999

start with 1

increment by 1

nocache;

--觸發器  (序列與觸發器實現school表中sid欄位的自動增長)

create or replace trigger insert_shool_sid_autoinc

before insert on school

for each row

begin

select shool_sid_autoinc.nextval into :new.sid from dual;

end;

--  測試結果

sql> insert into school values(100,'a',0,001,001,'[email protected]',66666);

1 row created.

sql> insert into school values(100,'aaaaaaaaaaaaaaaaaaaaa',0,001,001,'[email protected]',66666);

1 row created.

sql> select sid from school;

sid----------12

oracle中如何指定表字段自增

背景介紹 sql server可以在int型別的字段後加上identity 1,1 該字段就會從1開始,按照 1的方式自增,將這個字段設定為主鍵,有利於我們進行資料的插入操作。mysql中可以使用 auto increment 即可。但是oracle有點麻煩,需要使用序列和觸發器達到目的。學校表 c...

oracle表中指定欄位自增

表裡指定欄位自增,這個問題在sqlserver裡面來說很簡單 identity 1,1 該字段就會從1開始,按照 1的方式自增.但是在oracle裡面呢,就需要用到序列和觸發器完成才可以。相信這個問題每乙個轉oracle型資料庫時都會遇到。所以我在此寫一篇部落格,不求聞達於諸侯,只希望大家也和我一樣...

Oracle操作表,字段

0.建立表 create table table name as select from table name b 1.oracle 修改表名 alter table old table name rename to new table name 大寫為系統命令 2.oracle通過altertab...