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...