背景介紹:
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...