為oracle的資料表建立自增字段

2021-06-28 22:11:39 字數 1292 閱讀 3000

大致思路:在oracle中建立乙個存放增長值的物件,然後每次向表中插入資料時都呼叫這個物件的nextval,這樣就實現了自增。

第一步:建立乙個測試表--t_userinfo

create table t_userinfo(

c_id number(10),

c_name varchar2(58)

)

第二步:建立存放增長值的物件--seq_userinfo

create sequence seq_userinfo

minvalue 1

maxvalue 999999999999999

increment by 1

start with 111

cache 24

order

cycle;

第三步:測試,插入資料

insert into t_userinfo values( seq_userinfo.nextval,'名字'''||seq_userinfo.currval||'''');
如何用儲存過程批量得去插入資料呢?

declare 

type test_rec is record(

t_start number(10),

t_end number(10) not null :='100'-- 預設一百條記錄終止

);

v_test test_rec;

begin

delete from t_userinfo;-- 清空以前的記錄

v_test.t_start:= 1; --再次宣告變數值

v_test.t_end:= 24; --再次宣告變數值

loop

exit when v_test.t_start>v_test.t_end;

dbms_output.put_line('v_test.t_start的當前值:'||v_test.t_start); -- 輸出語句

v_test.t_start := v_test.t_start + 1;

insert into t_userinfo values( seq_userinfo.nextval,'名字'''||seq_userinfo.currval||''''); --插入語句

commit;

end loop;

end;

這個儲存過程寫得比較複雜,還可以更簡單,比如用for等的迴圈,在此不再闡述了、



ORACLE建立主鍵自增表

建立表,設定主鍵自增 create table stu uerid number 4 not null primary key,username varchar 20 userpass varchar 20 email varchar2 30 grade number 5 commit 小查一下 s...

Oracle 建立自增

minvalue 1maxvalue 99999999 start with 1increment by 1nocache order create sequence seqtest increment by 1 每次加幾個 start with 1 從1開始計數 nomaxvalue 不設定最大值...

如何建立主鍵自增表 oracle

建立表 create table t student id number 10 not null,createtime date not null,constraint pk t student primary key id 新增注釋 comment on table t student is 學生...