當什麼事件發生時,執行某段**。
create or replace trigger text_trigger
after delete --在delete操作以後進行處理 after在操作之後進行操作 before 在進行操作之前操作 instead of 替代操作
on student
for each row
declare
--vsid sc.sid&type 建立乙個變數 vsid 變數型別為sc.sid的型別
begin
--new為新資料 使用前加 :
--old是舊資料 使用前加 :
insert into sc (cid,sid,score) values ('01',:new.sid,99);
insert into sc (cid,sid,score) values ('02',:new.sid,99);
insert into sc (cid,sid,score) values ('03',:new.sid,99);
end;
•對錶進行的insert、update及delete操作 (可以對插入,刪除,更新進行監聽)
•對檢視進行類似的操作(通過替換監聽 可以實現檢視的資料操作)
•資料庫的啟動與關閉等
•dml觸發器insert、update、delete
•ddl觸發器create、drop、alter
•系統級觸發器dbstart、dbshut、logon、grant等…(如:關機前對資料庫進行操作)
:new
當insert時,:new物件中儲存的為當前待插入的資料
當update時,代表著新資料
:old
操作完成前的資料值 當update時,代表著老資料
當delete時,代表著老資料
使用替代 intead of
create or replace view v_student as select student.* ,sc.cid ,sc.score from student ,sc where student.sid = sc.sid;
--建立檢視
select * from v_student;
--檢視檢視
create or replace trigger trgger_v_student_insert --建立觸發器
instead of insert --使用替換
on v_student
for each row
begin
insert into student values(:new.sid,:new.sname,:new.sage,:new.s***);
insert into sc values(:new.sid,:new.cid,:new.score);
end;
insert into v_student values('12', '安翌', '2010-01-01', '男', '01', 99);
--插入輸入
select * from v_student;
--檢視
create table student(sid varchar(10),sname nvarchar(10),sage varchar2(),s*** nvarchar(10));
*/–建立測試資料
insert into student values(『01』 , 『趙雷』 , 『1990-01-01』 , 『男』);
insert into student values(『02』 , 『錢電』 , 『1990-12-21』 , 『男』);
insert into student values(『03』 , 『孫風』 , 『1990-05-20』 , 『男』);
insert into student values(『04』 , 『李雲』 , 『1990-08-06』 , 『男』);
insert into student values(『05』 , 『周梅』 , 『1991-12-01』 , 『女』);
insert into student values(『06』 , 『吳蘭』 , 『1992-03-01』 , 『女』);
insert into student values(『07』 , 『鄭竹』 , 『1989-07-01』 , 『女』);
insert into student values(『08』 , 『王菊』 , 『1990-01-20』 , 『女』);
create table course(cid varchar(10),cname nvarchar(10),tid varchar(10));
insert into course values(『01』 , 『語文』 , 『02』);
insert into course values(『02』 , 『數學』 , 『01』);
insert into course values(『03』 , 『英語』 , 『03』);
create table teacher(tid varchar(10),tname nvarchar(10));
insert into teacher values(『01』 , 『張三』);
insert into teacher values(『02』 , 『李四』);
insert into teacher values(『03』 , 『王五』);
create table sc(sid varchar(10),cid varchar(10),score decimal(18,1));
insert into sc values(『01』 , 『01』 , 80);
insert into sc values(『01』 , 『02』 , 90);
insert into sc values(『01』 , 『03』 , 99);
insert into sc values(『02』 , 『01』 , 70);
insert into sc values(『02』 , 『02』 , 60);
insert into sc values(『02』 , 『03』 , 80);
insert into sc values(『03』 , 『01』 , 80);
insert into sc values(『03』 , 『02』 , 80);
insert into sc values(『03』 , 『03』 , 80);
insert into sc values(『04』 , 『01』 , 50);
insert into sc values(『04』 , 『02』 , 30);
insert into sc values(『04』 , 『03』 , 20);
insert into sc values(『05』 , 『01』 , 76);
insert into sc values(『05』 , 『02』 , 87);
insert into sc values(『06』 , 『01』 , 31);
insert into sc values(『06』 , 『03』 , 34);
insert into sc values(『07』 , 『02』 , 89);
insert into sc values(『07』 , 『03』 , 98);
WPF觸發器之資料觸發器(A)
wpf觸發器 屬性觸發器 當依賴屬性的值改變時呼叫。資料觸發器 當普通.net屬性的值改變時呼叫。事件觸發器 當路由事件被觸發時呼叫。1.資料觸發器示例 數字從0 9計數,當數字變為8時候,數字變化成紅色並加粗進行顯示。0 1 2 3 4 5 6 7 8 9 0 2.新建wpf專案,專案名稱 dat...
mysql之觸發器詳解 MySQL之觸發器詳解
觸發器 trigger 監事某種情況,並出發某種操作。觸發器建立語法四要素 1 監視地點 table 2 監視事件 insert update delete 3 觸發時間 after before 4 觸發事件 insert update delete create trigger triggern...
WPF觸發器之資料觸發器(B)
如果你還不知道資料觸發器怎麼使用,或者連資料觸發器是什麼都還不了解,請先閱讀wpf觸發器之資料觸發器 a 1.當你知道了資料觸發器是當某個.net屬性值變化時觸發的操作,比如說當數字變成了 8 那就讓數字變成紅色。那麼使用資料觸發器實現此功能就可以這樣寫 datatrigger binding pa...