oracle中實現自動增長列

2021-08-30 13:04:50 字數 1080 閱讀 7783

oracle中實現自動增長列不能夠像 sqlserver中在 表中直接加標示,而是要借助序列來實現。下面簡單介紹一下,oracle中實現自動增長列的乙個方法

步驟:1 建立乙個序列來實現自動增長。

create sequence user_sequence1

start with 1 ----初值

increment by 1 --增量

nomaxvalue --沒有最大值

nocycle --不能迴圈

nocache --不快取

注意:序列建立完成時不能加 ;結束

2 建立乙個表

create table student(

id numbert,

name varchar2(10)

)3 測試

insert into student values (user_sequence1.nextval,'aaa');

select * from student;

這樣能夠實現自動增長列的新增,但是 我們現在一般都是 資料庫和程式分離 所以我們最好能夠在資料庫中把自動增長寫好 而程式中只需要加值不需要知道 你是建立的那個序列。

步驟:1 和上面的第乙個一樣 省略

2 和上面的一樣 省略

3 建立乙個觸發器

create or replace trigger user_trigger1

before insert on student

for each row

declare

tempnum number;

begin

select user_sequence1.nextval into tempnum from dual;

:new.id :=tempnum;

end;

4 測試

insert into student values (5,'aaa');

select * from student;

說明:這裡還是需要給乙個number型別的值,但是無論給什麼值它都是按照序列的值填充的。所有我們可以在設計資料庫的時候給資料庫預設值 然後我們新增的時候直接給 default即可。

oracle實現自動增長列

2008 01 31 15 53 sequence 首先使用者要有create sequence或者create any sequence許可權.然後使用下面命令生成sequence物件 create sequence emp sequence increment by 1 每次加幾個 start ...

ORACLE的自動增長列

關於oracle自動增長列 sqlserver2000有自動增長 create sequence seq tab g increment by 1 start with 1 maxvalue 9999999 minvalue 1 建立序列 seq tab g.currval 指當前序列 seq ta...

Oracle利用序列實現自動增長列

在sql server以及mysql中都有相應的自動增長列型別,而oracle中則沒有此型別,那如果要實現自動增長列需要怎麼辦呢.我們可以利用序列來實現.插入資料時候,可以像sql以及mysql一樣,不用顯示指定需要自動增長的列的值.實現如下 create table sys roles id in...