最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql觸發(fā)器一個(gè)表改變另一個(gè)表也改變問(wèn)題

 更新時(shí)間:2023年08月29日 11:40:37   作者:Raya_L  
這篇文章主要介紹了mysql觸發(fā)器一個(gè)表改變另一個(gè)表也改變問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

mysql觸發(fā)器一個(gè)表改變另一個(gè)也改變

主表:

副表:

刪除:

 
DELIMITER $$
USE `motooling`$$
DELIMITER ;
DROP TRIGGER IF EXISTS `pm_pg_member_delete`;
DELIMITER ;;
CREATE TRIGGER `pm_pg_member_delete` AFTER DELETE ON `user_company` FOR EACH ROW BEGIN
	SELECT dep_id INTO @procId FROM department WHERE dep_code='Production_Dept' AND company_id=old.company_id;
	SELECT dep_id INTO @depIds FROM department WHERE dep_id=old.dep_id AND CONCAT('|', all_upper_ids, '|') REGEXP CONCAT('|', @procId, '|');
	IF old.dep_id IN (@depIds) THEN
		DELETE FROM pm_pg_member WHERE pg_id=old.dep_id AND member_id=old.uid;
	END IF;
END
;;
DELIMITER ;
 

添加:

 
DELIMITER $$
USE `motooling`$$
DELIMITER ;
DROP TRIGGER IF EXISTS `pm_pg_member_insert`;
DELIMITER ;;
CREATE TRIGGER `pm_pg_member_insert` AFTER INSERT ON `user_company` FOR EACH ROW BEGIN
	SELECT dep_id INTO @procId FROM department WHERE dep_code='Production_Dept' AND company_id=new.company_id;
	SELECT dep_id INTO @depIds FROM department WHERE dep_id=new.dep_id AND CONCAT('|', all_upper_ids, '|') REGEXP CONCAT('|', @procId, '|');
	IF new.dep_id IN (@depIds) THEN
		SELECT dep_id INTO @depId FROM user_company WHERE id=new.id;
		SELECT uid INTO @uid FROM user_company WHERE id=new.id;
		SELECT work_name INTO @workName FROM user_company WHERE id=new.id;
		SELECT is_leader INTO @isLeader FROM user_company WHERE id=new.id;
		SELECT pri INTO @pri FROM user_company WHERE id=new.id;
		SELECT is_schedule INTO @isSchedule FROM user_company WHERE id=new.id;
		SELECT skill_level_id INTO @skillLevelId FROM user_company WHERE id=new.id;
		SELECT skill_level_name INTO @skillLevelName FROM user_company WHERE id=new.id;
		SELECT furlough_start_date INTO @furloughStartDate FROM user_company WHERE id=new.id;
		SELECT furlough_end_date INTO @furloughEndDate FROM user_company WHERE id=new.id;
		SELECT is_show_effic INTO @isShowEffic FROM user_company WHERE id=new.id;
		SELECT work_state INTO @workState FROM user_company WHERE id=new.id;
		SELECT last_pop_id INTO @LastPopId FROM user_company WHERE id=new.id;
		SELECT handler_id INTO @handlerId FROM user_company WHERE id=new.id;
		SELECT created_at INTO @createdAt FROM user_company WHERE id=new.id;
		SELECT updated_at INTO @updatedAt FROM user_company WHERE id=new.id;
		SELECT STATUS INTO @status FROM user_company WHERE id=new.id;
		INSERT INTO pm_pg_member  (pg_id, member_id, member_name, is_leader, pri, is_schedule, skill_level_id, skill_level_name,
		furlough_start_date, furlough_end_date, is_show_effic, member_status, last_pop_id,
		handler_id, created_at, updated_at, STATUS) VALUES 
		(@depId,@uid,@workName,@isLeader,@pri,@isSchedule,@skillLevelId,@skillLevelName,@furloughStartDate,@furloughEndDate,@isShowEffic,@workState
		,@LastPopId,@handlerId,@createdAt, @updatedAt,@status);
	END IF;
END
;;
DELIMITER ;

修改:

 
DELIMITER $$
USE `motooling`$$
DELIMITER ;
DROP TRIGGER IF EXISTS `pm_pg_member_update`;
DELIMITER ;;
CREATE TRIGGER `pm_pg_member_update` AFTER UPDATE ON `user_company` FOR EACH ROW BEGIN	
		SELECT dep_id INTO @procId FROM department WHERE dep_code='Production_Dept' AND company_id=new.company_id;
	SELECT dep_id INTO @depIds FROM department WHERE dep_id=new.dep_id AND CONCAT('|', all_upper_ids, '|') REGEXP CONCAT('|', @procId, '|');
	IF new.dep_id IN (@depIds) THEN
		UPDATE pm_pg_member SET pg_id=new.dep_id, member_id=new.uid, member_name=new.work_name, is_leader=new.is_leader, pri=new.is_leader, is_schedule=new.is_schedule,
		 skill_level_id=new.skill_level_id, skill_level_name=new.skill_level_name,
		furlough_start_date=new.furlough_start_date, furlough_end_date=new.furlough_end_date, is_show_effic=new.is_show_effic,
		 member_status=new.work_state, last_pop_id=new.last_pop_id,
		handler_id=new.handler_id, created_at=new.created_at, updated_at=new.updated_at, STATUS=new.status
		WHERE pg_id=old.dep_id AND member_id=old.uid;
	END IF;
END
;;
DELIMITER ;

注:刪除只有old,新增只有new,修改既有old又有new

mysql觸發(fā)器:A表更新B表新增

創(chuàng)建觸發(fā)器

CREATE TRIGGER T_TRIGGER_UPDATE?
BEFORE|AFTER UPDATE|INSERT|DELETE
ON 表A FOR EACH ROW
BEGIN
? ? insert into 表B(列1, 列2, ...) VALUES(NEW.列1, NEW.列2, ...);
END

解釋?zhuān)?/strong>

T_TRIGGER_UPDATE為觸發(fā)器名字;BEFORE|AFTER UPDATE|INSERT|DELETE:在更新之前或之后進(jìn)行更新,插入或刪除操作;

NEW表示進(jìn)行相應(yīng)操作的數(shù)據(jù),如進(jìn)行更新A表的操作,就表示要修改的A表的數(shù)據(jù)。

查看輸出器

SHOW TRIGGERS;

刪除指定的觸發(fā)器

DROP trigger T_TRIGGER_UPDATE

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 超詳細(xì)mysql left join,right join,inner join用法分析

    超詳細(xì)mysql left join,right join,inner join用法分析

    比較詳細(xì)的mysql的幾種連接功能分析,只要你看完就能學(xué)會(huì)的好東西
    2008-08-08
  • Mysql LONGBLOB 類(lèi)型存儲(chǔ)二進(jìn)制數(shù)據(jù) (修改+調(diào)試+整理)

    Mysql LONGBLOB 類(lèi)型存儲(chǔ)二進(jìn)制數(shù)據(jù) (修改+調(diào)試+整理)

    代碼來(lái)自網(wǎng)絡(luò),我學(xué)習(xí)整理了一下,測(cè)試通過(guò),下面的參數(shù)需要設(shè)置為你自己的
    2009-07-07
  • MYSQL中EXISTS的用法小結(jié)

    MYSQL中EXISTS的用法小結(jié)

    在MySQL數(shù)據(jù)庫(kù)中,EXISTS是一種強(qiáng)大的工具,用于處理復(fù)雜的查詢(xún)需求,本文主要介紹了MYSQL中EXISTS的用法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • MySQL如何優(yōu)雅的刪除大表實(shí)例詳解

    MySQL如何優(yōu)雅的刪除大表實(shí)例詳解

    這篇文章主要給大家介紹了關(guān)于MySQL如何優(yōu)雅的刪除大表的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • MySQL數(shù)據(jù)庫(kù)遷移實(shí)戰(zhàn)

    MySQL數(shù)據(jù)庫(kù)遷移實(shí)戰(zhàn)

    數(shù)據(jù)庫(kù)遷移是指將一個(gè)數(shù)據(jù)庫(kù)從一種系統(tǒng)轉(zhuǎn)移到另一種系統(tǒng)或從一臺(tái)服務(wù)器遷移到另一臺(tái)服務(wù)器的過(guò)程,本文主要介紹了MySQL數(shù)據(jù)庫(kù)遷移實(shí)戰(zhàn),感興趣的可以了解一下
    2023-11-11
  • Linux下MySQL8.0.26安裝教程

    Linux下MySQL8.0.26安裝教程

    文章詳細(xì)介紹了如何在Linux系統(tǒng)上安裝和配置MySQL,包括下載、解壓、安裝依賴(lài)、啟動(dòng)服務(wù)、獲取默認(rèn)密碼、設(shè)置密碼、支持遠(yuǎn)程登錄以及創(chuàng)建表,感興趣的朋友一起看看吧
    2024-12-12
  • MySQL閃回(flashback)原理與實(shí)戰(zhàn)

    MySQL閃回(flashback)原理與實(shí)戰(zhàn)

    摘要: 本文將介紹閃回原理,給出筆者的實(shí)戰(zhàn)經(jīng)驗(yàn),并對(duì)現(xiàn)存的閃回工具作比較。這是目前為止,MySQL 閃回領(lǐng)域第一篇全面深入的實(shí)戰(zhàn)總結(jié)。
    2017-01-01
  • mysqldump備份數(shù)據(jù)庫(kù)時(shí)排除某些庫(kù)的實(shí)例

    mysqldump備份數(shù)據(jù)庫(kù)時(shí)排除某些庫(kù)的實(shí)例

    下面小編就為大家?guī)?lái)一篇mysqldump備份數(shù)據(jù)庫(kù)時(shí)排除某些庫(kù)的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • php后臺(tái)經(jīng)常提示無(wú)法連接mysql 刷新后又可以訪問(wèn)的解決方法

    php后臺(tái)經(jīng)常提示無(wú)法連接mysql 刷新后又可以訪問(wèn)的解決方法

    這幾天有一臺(tái)MySQL數(shù)據(jù)庫(kù)服務(wù)器出現(xiàn)了頻繁的掉線情況,通過(guò)排查,并沒(méi)有排查出哪個(gè)網(wǎng)站被攻擊,百思不得其解中的時(shí)候,群里有個(gè)朋友說(shuō)是因?yàn)槲④汯B967723造成的,網(wǎng)上搜索了一下,果然很多人都是這樣的問(wèn)題,都是windows系統(tǒng)下安裝的MySQL造成的
    2011-05-05
  • mysql 直接拷貝data 目錄下文件還原數(shù)據(jù)的實(shí)現(xiàn)

    mysql 直接拷貝data 目錄下文件還原數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了mysql 直接拷貝data 目錄下文件還原數(shù)據(jù)的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07

最新評(píng)論

扶余县| 和硕县| 曲水县| 山阳县| 乐业县| 礼泉县| 镇远县| 同心县| 阳山县| 武夷山市| 娱乐| 湘阴县| 淮滨县| 浙江省| 长白| 疏勒县| 大埔县| 江陵县| 绍兴市| 盐城市| 马公市| 边坝县| 翼城县| 新邵县| 印江| 桓台县| 凌海市| 陇川县| 霍山县| 延津县| 昭平县| 隆安县| 北碚区| 祁连县| 巴青县| 双鸭山市| 鄢陵县| 惠安县| 利川市| 甘谷县| 化州市|