oracle触发器比较,Oracle使用触发器和mysql中使用触发器的比较
一、觸發器
1.觸發器在數據庫里以獨立的對象存儲,
2.觸發器不需要調用,它由一個事件來觸發運行
3.觸發器不能接收參數
--觸發器的應用
舉個例子:校內網、開心網、facebook,當你發一個日志,自動通知好友,其實就是在增加日志的時候做一個出發,再向表中寫入條目。
--觸發器的效率很高
舉例:論壇的發帖,每插入一個帖子都希望將版面表中的最后發帖時間,帖子總數字段進行同步更新,這時使用觸發器效率會很高。
二、Oracle 使用 PL/SQL 編寫觸發器
1.--PL/SQL創建觸發器的一般語法
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.編寫一個觸發器,在向 emp 表中插入記錄時 打印'hello'
create or replace trigger tri_update
after
insert on emp
begin
dbms_output.put_line('ok');
end;
--問題1.一個helloworld級別的觸發器
--創建一個觸發器,在更新employees表的時候觸發
create or replace trigger tri_update
after
update on employees
for each row --想在最后執行完打印一個ok,把這句話去掉
begin
dbms_output.put_line('ok');
end;
--執行
update employees
set salary = salary+1
where department_id = 80
三、在MySql 使用觸發器
--假設有兩張表 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)
);
--創建一個觸發器
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表執行插入操作的是后就會觸發這個觸發器
insert into board values(null,'test_boardname',0);
insert into article values(null,'test_title',1);
--執行完這條插入語句后,board表中的articleCount字段值回+1;這個操作由觸發器完成。
Oracle使用觸發器和mysql中使用觸發器的比較——學習筆記
一.觸發器 1.觸發器在數據庫里以獨立的對象存儲, 2.觸發器不需要調用,它由一個事件來觸發運行 3.觸發器不能接收參數 --觸發器的應用 舉個例子:校內網.開心網.facebook,當你發一個日志, ...
oracle數據庫不支持mysql中limit功能
oracle數據庫不支持mysql中limit功能,但可以通過rownum來限制返回的結果集的行數,rownum并不是用戶添加的字段,而是oracle系統自動添加的. (1)使查詢結果最多返回前10行 ...
mysql中的觸發器和事務的操作
觸發器 語法 創建觸發器: CREATE TRIGGER trigger_name trigger_time trigger_event ON tbl_name FOR EACH ROW trigge ...
Mysql中的觸發器
什么是觸發器 簡單的說,就是一張表發生了某件事(插入.刪除.更新操作),然后自動觸發了預先編寫好的若干條SQL語句的執行: 特點及作用 特點:觸發事件的操作和觸發器里的SQL語句是一個事務操作,具有原 ...
MySQL中的觸發器應用
直接上代碼: /*數據庫 - udi_ems_test*********************************************************************內容:在 ...
MySQL中的觸發器insert、update
以下為MySQL 觸發器insert 的3個示例演示(update類似) delimiter // create trigger InsertUser before insert on user fo ...
Mysql中的觸發器【轉】
轉載:https://www.cnblogs.com/chenpi/p/5130993.html 閱讀目錄 什么是觸發器 特點及作用 例子:創建觸發器,記錄表的增.刪.改操作記錄 弊端 什么是觸發器 ...
MySQL的學習--觸發器
MySQL包含對觸發器的支持.觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行. 創建觸發器 在MySQL中,創建觸發器語法如下 ...
【轉】MySQL的學習--觸發器
MySQL包含對觸發器的支持.觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行. 創建觸發器 在MySQL中,創建觸發器語法如下 ...
隨機推薦
c#處理空白字符
空白字符是指在屏幕不會顯示出來的字符(如空格,制表符tab,回車換行等).空格.制表符.換行符.回車.換頁垂直制表符和換行符稱為 “空白字符”,因為它們為與間距單詞和行在打印的頁 )的用途可以讀取更加 ...
ac自動機 模板
自己寫的0.0 #include #include #include using namespace std; ...
Redis的安裝和使用
Redis 安裝redis: 將將要安裝redis文件夾放到一個盤中 通過命令行切換到放文件的地方 安裝成功后,將文件夾中的擴展放入wamp/php/ext中,然后配置php.ini,重啟服務器. 使 ...
【轉】Unity中的協同程序-使用Promise進行封裝(二)
原文:http://gad.qq.com/program/translateview/7170970 譯者:王磊(未來的未來)????審校:崔國軍(飛揚971) ? 在上一篇文章中,我們的注意力主要是 ...
The tag 'ChartPlotter' does not exist in XML namespace
本地build的時候每次都是OK的,但是Shelveset到Server上build的時候,總是出錯. 果斷google/bing了幾個建議,無果. 不得不重新仔細的看server上的building ...
SQL函數中的動態執行語句
一.為什么要使用動態執行語句? 由于在PL/SQL?塊或者存儲過程中只支持DML語句及控制流語句,并不支持DDL語句,所以Oracle動態執行語句便應允而生了.關于DDL與DML的區別,請參見:DDL ...
【hadoop】14、hadoop2.5的mapreduce的 配置
配置mapreduce <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href ...
vue 內聯樣式style中的background
在我們使用vue開發的時候? ?有很多時候我們需要用到背景圖 這個時候會直接使用 內聯樣式 直接把你拿到的數據拼接上去 注意? 在vue中直接使用style時 花括號一定別忘記 還有就是你的url一定 ...
Android 音視頻開發(三):使用 AudioTrack 播放PCM音頻
一.AudioTrack 基本使用 AudioTrack 類可以完成Android平臺上音頻數據的輸出任務.AudioTrack有兩種數據加載模式(MODE_STREAM和MODE_STATIC),對 ...
gunicorn啟動flask項目的坑
問題描述:項目用的是flask框架,在項目上線的時候,服務器上是使用gunicorn來啟動項目的.但是上線之后,發現服務成功啟動了,也有正確的返回值,但是沒有生成日志,而用python來啟動服務的時候 ...
總結
以上是生活随笔為你收集整理的oracle触发器比较,Oracle使用触发器和mysql中使用触发器的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 脚本命令集合,Oracle
- 下一篇: mysql 命令 kill_MySQL之