目標:實現向一張表中插入資料時,id欄位自動遞增。
開始實驗:
(1)、建立實驗表
createtable test_id_add
(id number(10),
username varchar2(32),
tel varchar2(11),
create_date datedefaultsysdate
(2)、建立序列
使用pl/sql developer建立序列
補充:對於序列的建立,我們也可以通過命令實現,如下:
create sequence seq_test
increment by 1
start with 1
nomaxvalue
nominvalue
nocache
--引數說明
--seq_test,表示建立序列的名稱
--increment by 1 表示每次增加1
--start with 1表示開始於1
--nomaxvalue表示沒有最大值
--nominvalue表示沒有最小值
--nocache表示序列號達到上限後不繼續擴充套件
補充結束
(3)、建立觸發器
--每次向test_id_add表新插入一條資料之前,先插入乙個id值
create or replace trigger tr_idadd
before insert on test_id_add
for each row
begin
select seq_idadd.nextval into :new.id from dual;
end;
(4)、測試
sql>insert into test_id_add(username,tel) values('huangyanlong','12345678900');
--插入第一條資料
--插入第二條資料
如圖所示,id欄位在以每次加一後自動增長。
SQL Oracle給表新增字段說明
oracle mysql sqlserver建立表和給表和字段加注釋 一 oracle 建立表 create table test id varchar2 200 primary key not null,sort number,name varchar 200 欄位加注釋 comment on c...
sql Oracle 驅動表是什麼?
1.什麼是驅動表?通俗的講就是先從哪個表開始檢索啦,找到好的驅動表語句的優化就成功一半了 eg select from a,b where a.id b.id and a.姓名 美格瑞恩 and b.性別 女 在a,b表同等數量級的情況下顯然用a表做為驅動表比較好因為姓名相對於性別來說可以過濾掉更多...
Oracle建立表ID欄位關聯序列
建立測試表 create table msct test user id number 10 user name varchar2 32 建立序列 create sequence mscs test increment by 1 start with 0 minvalue 0 maxvalue 10...