Oracle數據庫 經常使用的觸發器命令

建立自增序列,建立觸發器(在觸發時間中操縱序列,實現主鍵自增):數據庫

Oracle數據庫不支持自增方法spa

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(表名);

--爲字段設置默認值
--例子:將年齡的默認值設置爲22
alter table table_name(表名) add constraint dt_age(默認名,任意取) default 22(值) for 年齡(字段);

--爲字段設置主鍵
  alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field)(單個字段肯定惟一性)
 
--爲字段設置複合主鍵
alter table table_name add constraint Field_PRIMARY(任意取) primary key (column_Field1,column_Field2....)(多個字段肯定惟一性)
相關文章
相關標籤/搜索