主頁 > 知識庫 > Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較

Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較

熱門標簽:電話機器人那種好 百度地圖標注飯店位置怎么 區(qū)域地圖標注怎么設置 地圖標注的坐標點 上海網絡外呼系統(tǒng) 理財產品電銷機器人 百度地圖標注注解 外呼系統(tǒng)好點子 南通電銷外呼系統(tǒng)哪家強

一、觸發(fā)器

  1.觸發(fā)器在數據庫里以獨立的對象存儲,

  2.觸發(fā)器不需要調用,它由一個事件來觸發(fā)運行

  3.觸發(fā)器不能接收參數

  --觸發(fā)器的應用

    舉個例子:校內網、開心網、facebook,當你發(fā)一個日志,自動通知好友,其實就是在增加日志的時候做一個出發(fā),再向表中寫入條目。

  --觸發(fā)器的效率很高

    舉例:論壇的發(fā)帖,每插入一個帖子都希望將版面表中的最后發(fā)帖時間,帖子總數字段進行同步更新,這時使用觸發(fā)器效率會很高。

二、Oracle 使用 PL/SQL 編寫觸發(fā)器

1.--PL/SQL創(chuàng)建觸發(fā)器的一般語法

create [or replace] trigger trigger_name
{before | after}
{insert | delete | update [of column[,column ... ]]} on table_name
[for each row]
[where condition]
--trigger_body;
begin 
end;

2.--練習

--問題3.使用:old 和 :new 操作符
create or replace trigger tri_update
after
update on employees
for each row 
begin
  dbms_output.put_line('更新前:'||:old.salary||' 更新后:'||:new.salary);
end;
--問題2.編寫一個觸發(fā)器,在向 emp 表中插入記錄時 打印'hello'
create or replace trigger tri_update
after
insert on emp
begin
  dbms_output.put_line('ok');
end;
--問題1.一個helloworld級別的觸發(fā)器
--創(chuàng)建一個觸發(fā)器,在更新employees表的時候觸發(fā)
create or replace trigger tri_update
after
update on employees
for each row --想在最后執(zhí)行完打印一個ok,把這句話去掉
begin
  dbms_output.put_line('ok');
end;
--執(zhí)行
update employees
set salary = salary+1
where department_id = 80

三、在MySql 使用觸發(fā)器

--假設有兩張表 board 和 article
create table board(
  id int primary key auto_increment,
  name varchar(50),
  articleCount int
);
create table article(
  id int primary key auto_increment,
  title varchar(50),
  bid int references board(id)
);
--創(chuàng)建一個觸發(fā)器
delimiter $$
create trigger insertArticle_trigger 
after insert on article 
for each row
begin
  update board set articleCount=articleCount+1
where id = new.bid;
end;
$$
delimiter ;
--當我們對article表執(zhí)行插入操作的是后就會觸發(fā)這個觸發(fā)器
insert into board values(null,'test_boardname',0);
insert into article values(null,'test_title',1);
--執(zhí)行完這條插入語句后,board表中的articleCount字段值回+1;這個操作由觸發(fā)器完成。

以上所述是小編給大家介紹的Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • Oracle觸發(fā)器實例代碼
  • Oracle觸發(fā)器表發(fā)生了變化 觸發(fā)器不能讀它的解決方法(必看)
  • Oracle觸發(fā)器用法實例詳解
  • Oracle中使用觸發(fā)器(trigger)和序列(sequence)模擬實現自增列實例
  • oracle監(jiān)控某表變動觸發(fā)器例子(監(jiān)控增,刪,改)
  • [Oracle] 如何使用觸發(fā)器實現IP限制用戶登錄
  • oracle 存儲過程和觸發(fā)器復制數據
  • oracle 觸發(fā)器 實現出入庫
  • oracle 觸發(fā)器 學習筆記
  • 詳解oracle中通過觸發(fā)器記錄每個語句影響總行數

標簽:昭通 中衛(wèi) 紹興 海東 遼源 百色 寧波 自貢

巨人網絡通訊聲明:本文標題《Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較》,本文關鍵詞  Oracle,使用,觸發(fā)器,和,mysql,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較》相關的同類信息!
  • 本頁收集關于Oracle使用觸發(fā)器和mysql中使用觸發(fā)器的案例比較的相關信息資訊供網民參考!
  • 推薦文章