建立自增序列,建立觸發器(在觸發時間中操縱序列,實現主鍵自增):
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;
--檢視所有觸發器alter table table_name add constraint field_primary(任意取) primary key (column_field)(單個字段確定唯一性)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_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...