1. 程式人生 > >mysql觸發器_begin end 執行多次語句

mysql觸發器_begin end 執行多次語句

//多SQL中匯出的觸發器語句:
DROP TRIGGER IF EXISTS `t_trig`;
DELIMITER //
CREATE TRIGGER `t_trig` BEFORE INSERT ON `t_goods`
 FOR EACH ROW beginset NEW.add_date = current_date();INSERT INTO test2 SET a2 = NEW.id;end
//
DELIMITER ;


/************************************************
 ************************************************
 ************************************************/
//在刪除一個終端調研時觸發刪除銷售體驗和競品分析
DELIMITER //
CREATE TRIGGER	`delete_assistant_research` BEFORE DELETE ON `tb_assistant_research`
FOR EACH ROW begin
DELETE FROM `tb_assistant_experience` WHERE `research_id` = old.id;
DELETE FROM `tb_assistant_compete_analyse` WHERE `research_id` = old.id;
end
//
DELIMITER;



/************************************************
 ************************************************
 ************************************************/
//在刪除一個競品商品時, 刪除該競品商品的競品分析資料
DELIMITER
CREATE TRIGGER `delete_product` AFTER DELETE ON	`tb_assistant_compete_product`
FOR EACH ROW begin
DELETE FROM `tb_assistant_compete_analyse` WHERE `product_id` = old.id;
end
DELIMITER;


/************************************************
 ************************************************
 ************************************************/
//在刪除某一家門店時,刪除該門店的巡店和終端調研
//本地伺服器118所需要的觸發器語句
DROP TRIGGER IF EXISTS `delete_assistant_store`;
DELIMITER //
CREATE TRIGGER	`delete_assistant_store` AFTER DELETE ON `tb_assistant_store`
FOR EACH ROW begin
DELETE FROM `tb_assistant_visitstore` WHERE `store_id` = old.id;
DELETE FROM `tb_assistant_research` WHERE `store_id` = old.id;
end
//
DELIMITER;


遠端伺服器:121.199.167.212所匯出的觸發器
DROP TRIGGER IF EXISTS `delete_assistant_store`//
CREATE TRIGGER `delete_assistant_store` AFTER DELETE ON `tb_assistant_store`
 FOR EACH ROW begin
DELETE FROM `tb_assistant_visitstore` WHERE `store_id` = old.id;
DELETE FROM `tb_assistant_research` WHERE `store_id` = old.id;
end
//



/************************************************
 ************************************************
 ************************************************/
在刪除某一個流程時,需要刪除對應該流程的備註資訊
sign=1刪除巡店 sign=2刪除銷售體驗 sign=3刪除競品分析

//以後用標準格式
DROP TRIGGER IF EXISTS `delete_assistant_option`;
delimiter //
CREATE TRIGGER	`delete_assistant_option` AFTER DELETE ON `tb_assistant_option`
FOR EACH ROW BEGIN

IF old.sign=1 THEN
  DELETE FROM `tb_assistant_visitstore_message` WHERE `option_id` = old.id;
ELSEIF old.sign=2 THEN
  DELETE FROM `tb_assistant_experience_message` WHERE `option_id` = old.id;
ELSEIF old.sign=3 THEN
  DELETE FROM `tb_assistant_compete_analyse_message` WHERE `option_id` = old.id;
END IF;

END;
//
delimiter ;







標準格式,版主給的
delimiter //
CREATE TRIGGER testref BEFORE INSERT ON test1
  FOR EACH ROW BEGIN
    INSERT INTO test2 SET a2 = NEW.a1;
    DELETE FROM test3 WHERE a3 = NEW.a1;
    UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
  END;
//
delimiter ;

相關推薦

mysql觸發器_begin end 執行語句

//多SQL中匯出的觸發器語句: DROP TRIGGER IF EXISTS `t_trig`; DELIMITER // CREATE TRIGGER `t_trig` BEFORE INSERT ON `t_goods` FOR EACH ROW beginset NEW.add_date

mySQL儲存過程怎樣執行語句?

create procedure getResult( in name varchar(30), in classNames varchar(30) ) begin select userName from lxlog where userName=name; select

Mybatis+MySql 一個標籤中執行條sql語句

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/cxfly957/article/details/77896590 MySql預設是不支援這種騷操作的,但是並不代表不能實現,只需要在jdbc的配置檔案中

Mysql 一次性執行語句的實現

1.mysql資料庫預設情況下,mysql_query()是一次只執行一條語句。 #include "stdafx.h" #include <mysql.h> #include <string> using namespace std

在oracle中一執行語句

工作中需要一次執行多條語句,本來想直接使用sql拼接成一個字串進行批處理,原sql如下: String sql = ""; for(int i=0; i<deviceInfo.getDevice_ip().length; i++){

Jquery on方法綁定事件後執行

cnblogs clas cli func jquery on col log () fun $("#btnOktcHc").on("click", function () {}); $("#btnOktcHc").off("click"); on 對同一個元素

js實現每次程序發送一個數據 ,發送不一樣,5秒後繼續執行程序,判斷如果五秒後發送過來的數據和上次不一樣,少的刪除的增加

增加 開始 後繼 tin key cli 監控 沒有 sop /*存儲設備ID*/var IDSNew = new Array();//判斷是否已經啟用服務var isopen = true;//需要放到接收設備數據處IDSNew[client.deviceId]=new

解決一個特定的負載均衡下定時任務執行的問題

nginx負載均衡 項目 post 緩存 日期 多少 size edi 開始 項目每天晚上有個定時任務,把redis緩存數據重新連接數據庫刷新一遍,耗時大約40分鐘。但問題是項目是nginx負載均衡,這個定時任務會執行多次。經過一些思考之後,用以下辦法解決: redis裏加

jquery hover中嵌套mouseenter,mouseenter函數執行的問題解決方案

ctype iyu use api wid list rip FN urn 已知曉在jq中hover的API就是把mouseenter和mouseleave組合在一起來用的,在jq中實現`hover:function(fnOver,fnOut){return this.mo

兩種方式:mysql查看正在執行的sql語句

read roc output stat 方法 sql語句 for -i 語句 mysql查看正在執行的sql語句 2015年08月21日 17:32:59 閱讀數:15398 有2個方法: 1、使用processli

MyBatis 同時執行語句【簡單扼要】

目的:MyBatis 同時執行多條語句 第一步:開啟一個約束   allowMultiQueries=true url: jdbc:mysql://127.0.0.1:3306/tourism?useSSL=false&allowMultiQueries=tr

Android程序app中Application回撥onCreate()方法被執行分析及解決

最近工作中碰到一個問題,在優化app,使用DDMS檢視Application log過程中看到,app啟動了三個程序,一個主程序,兩個附帶的程序。如下圖可看到一個app啟動的三個程序。  自定義Application回撥方法onCreate()被執行了3次。開始不知是何原因。 相

click事件的累加繫結,一點選,執行

最近在工作上遇到一個點選事件累加的問題,為元素新增點選事件效果,但是總是效果失敗,最後發現點選事件被執行了多次,上網查了一下,下邊就是解決這個問題的幾種思路 $("#adsCollection_tb .contentDel").on("click",function(){ $(

mybatis generator生成對映檔案時,執行,導致xml檔案生成錯誤,設定table schema也無效

在maven中集成了MBG以後,生成xml等對映檔案時,會生成多次。由於xml檔案是追加,導致xml檔案有多次生成的結果。 原因: 1):在資料庫伺服器上,不同的資料庫中表名相同的表多張。(有幾個同名的表,就會生成幾次) 2):mysql驅動升級到8.x,造成設定sch

mysql 批處理命令執行個sql指令碼

方法1 若有SQL指令碼a.sql, b.sql, 其目錄在f盤根目錄下, 則可再寫一個SQL指令碼c.sql(假設其目錄也在f盤根目錄下, 也可以在其他路徑下)如下: source f:/a.sql; source f:/b.sql; 然後執行

解決SpringBoot 定時計劃 quartz job 任務重複執行(10)

上一篇:SpringBoot多工Quartz動態管理Scheduler,時間配置,頁面+源 設定了多個 任務,本應該是各司其職的,任務呼叫多執行緒處理任務,but這個定時任務竟然同時跑了10次???如下圖 讓我很苦惱 百度一波,懷疑是否是因為多次初始化bean導致的? debu

android開發之android:process屬性_application中onCreate執行

應用做的匆忙,很多地方只顧實現功能,沒有兼顧好效能,所以停下來重構程式碼優化效能,結果在打log看啟動時間的時候,發現Application的onCreate執行了多次,這樣導致重複初始化資源,初始化了

Jquery on方法繫結事件後執行

這兩天工作中遇到使用js動態載入內容,同時需要對加入的內容繫結點選事件的,當時想想了想可以使用內聯的onclick 來實現,後來沒有這樣做,使用的是 on(‘click’,function(){}) ,然而使用on方法的時候就發現,on 對同一個元素多次繫結同一

ajax相同url執行

ajax對後臺的請求,如果url未發生改變,是不會去再去響應後臺的請求的 這個是因為快取的原因所造成的 加上一個cache : false即可            $.ajax({                 type: 'GET',                

Android百度地圖onMarkerClick方法執行

最近在使用百度地圖時,要實現返回當前位置附近的Marker,然後給Marker新增點選事件,點選Marker彈出PopupWindow,每次重新整理地圖顯示新的Marker,使用bdMap.clear()重新整理失敗,原來的Marker還留在地圖上,點選Mark