oracle 使用trigger實現主鍵自增

2021-09-25 06:55:49 字數 1497 閱讀 9961

首先了解trigger的概念

觸發器oracle使用

觸發器概念

使用trigger實現主鍵自增

----建立表

create table tb_user

(id number primary key,

user_name varchar2(20),

user_address varchar2(30)

);-----建立tb_user_seq序列

create sequence tb_user_seq minvalue 1 maxvalue 999

increment by 1

start with 1;

------建立觸發器,在insert資料前獲取next_id

create or replace trigger tb_user_tri

before

insert on tb_user

for each row

declare

next_id number;

begin

select tb_user_seq .nextval into next_id from dual;

:new.id :=next_id;

end;

—建立表user_tb

create table user_tb

(userid integer primary key,

user_name varchar2(20),

*** varchar2(10)

);----建立序列

create sequence user_tb_seq

minvalue 1 maxvalue 9999 --序列從1–到9999

increment by 1

start with 1;

----建立觸發器

create or replace trigger user_tb_tri

before

insert on user_tb

for each row

begin

select user_tb_seq.nextval into:new.userid from dual;

end;

—測試插入資料

insert into user_tb (user_name,***) values(『李紅』,『女』);

insert into user_tb(user_name,***)values(『大偉』,『男』);

備註:create or replace trigger 觸發器名字

before insert on 表名

for each row

declare

next_id number;

begin -------觸發語句

select 序列名.nextval into next_id from dual;

:new.id:=next_id;

end;

使用Trigger實現Cascading的功能

使用資料庫的朋友大家想必都知道,如果想要維持 一堆多 資料表資料的一致性,必須做到以下幾點 1 插入時,外來鍵必須包含於主表 1 對多中 1 那個表 關聯字段集合中。2 刪除時,主表關聯欄位被刪除,其子表關聯資料也一律自動被刪除。3 更新時,主表關聯欄位被更新,其子表關聯資料也一律自動被更新。其實要...

oracle觸發器 trigger 應用示例一則

建立 dml語句行級觸發器。當對 emp表執行 insert,update,delete 操作時,它自動更新 dept summary 表中的資料。由於在 pl sql 塊中不能直接呼叫 ddl語句,所以,利用 oracle 內建包dbms utility 中的exec ddl statement ...

oracle 中的觸發器(trigger)

觸發器 2009年02月10日 自動生成資料 強制複雜的完整性約束 自定義複雜的安全許可權 提供審計的日記記錄 啟用發展的業務邏輯 create or replace trigger trigger name or on schema.table or view name referencing n...