建立一張Oracle主鍵自增和帶有預設值的資料表
阿新 • • 發佈:2018-11-13
0 在建立表前修改一下系統預設時間格式
alter session set nls_date_format = 'yyyy-mm-dd';
1 建立一個表
CREATE TABLE user_record( ID NUMBER(11) NOT NULL PRIMARY KEY, uptime DATE default sysdate not null, user_no CHAR(6), username VARCHAR2(31), read_book NUMBER(4), createTime DATE, upudateTime DATE )
在這個表中uptime欄位設定了預設值,為系統的當前時間。
2 設定主鍵id自增
##建立自增序列id DROP SEQUENCE user_record_seq; // 若序列已存在,則刪了,第一次建立時不需要執行這一步,直接進行建立即可 CREATE SEQUENCE user_record_seq MINVALUE 1 MAXVALUE 99999999 INCREMENT BY 1 START WITH 1; CREATE OR REPLACE TRIGGER ouser_record_tb_tri BEFORE INSERT ON user_record FOR EACH ROW BEGIN SELECT user_record_seq.nextval INTO :new.id FROM dual; END;
4 來進行測試插入操作:
select t.*, t.rowid from user_record t # 預設會為 INSERT INTO user_record(seg_no,Username,had_booking,createtime,upudatetime) VALUES('ZH9101','TST381',3,to_date('2018/11/12','yyyy/MM/dd'),NULL); COMMIT; INSERT INTO user_record(uptime,user_no,username,read_book,createtime,upudatetime) VALUES('2018/9/27','ZH9101','TST381',3,to_date('2018/11/12','yyyy/MM/dd'),NULL); COMMIT;
好了,這樣就完成了oracle表的建立,對我有用,希望對你也有用!