Oracle資料庫 常用的觸發器命令

2022-02-25 23:14:50 字數 1573 閱讀 3497

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

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

--為字段設定預設值

--例子:將年齡的預設值設定為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....)(多個字段確定唯一性)

oracle資料庫觸發器

instead of觸發器介紹 instead of觸發器代替觸發動作,並在處理約束之前激發 對於每個觸發操作,每個表或檢視都只能有乙個instead of觸發器。而乙個表對於每個觸發操作可以有多個after觸發器 instead of觸發器的建立模板 create or replace trigg...

Oracle資料庫update觸發器

在專案中使用到oracle資料庫的update觸發器,先記錄下來方便以後查閱。預備知識和格式以後再編輯吧,先把內容貼出來。create or replace trigger demo trigger after update on tb goods referencing new as new ol...

Oracle資料庫觸發器例項

需求 在修改表qdyth.jzfpjcxx時,要實時記錄表中的資料變動情況 協商後結果 建立新錶記錄資料變動情況 實現手段 資料庫觸發器 建立或修改觸發器 tr jzfpjcxx 2 create or replace trigger tr jzfpjcxx 2 觸發條件 before delete...