創建自增序列,創建觸發器(在觸發時間中操縱序列,實現主鍵自增):
Oracle數據庫不支持自增方法
create sequence seq_userInfo_usid start with 1;--創建一個序列從1開始 create or replace triggle tri_userInfo --創建或替換 名稱為tri_userInfo觸發器 before before insert or update on UserInfo --在向userInfo表中添加和修改, 記錄之前的觸發 for each row --沒影響一行出發一次 begin --觸發之后執行下面的語句 IF INSERTING THEN --插入數據操作 select seq_testTragger_id.nextval into :new.UserId from dual; --:new新值 :old老值 :NEW.UserId := seq_testTragger_id.currval; :NEW.createtime := systimestamp; ELSIF UPDATING then --修改數據操作 :NEW.createtime := systimestamp; END IF; end;
--查看所有觸發器 select * from user_triggers; --禁用觸發器 alter trigger tri_uname(觸發器名字) disable; --激活觸發器 alter trigger tri_uname(觸發器名字) enable; --重新編譯 alter trigger tri_uname(觸發器名字) complie; --禁用某個表上的觸發器 alter table table_name(表名) diable all triggers; --刪除觸發器 DROP TRIGGER tri_uname(觸發器名字); --刪除序列 DROP SEQUENCE seq_testTragger_id(序列名); --清空表數據 DELETE FROM table_name(表名);alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field)(單個字段確定唯一性)
--為字段設置默認值
--例子:將年齡的默認值設置為22
alter table table_name(表名) add constraint dt_age(默認名,任意取) default 22(值) for 年齡(字段);
--為字段設置主鍵
--為字段設置復合主鍵
alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field1,column_Field2....)(多個字段確定唯一性)