MySQL:
創(chuàng)新互聯(lián)建站成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務公司,擁有項目成都網(wǎng)站制作、成都網(wǎng)站設計、外貿(mào)營銷網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元汝南做網(wǎng)站,已為上家服務,為汝南各地企業(yè)和個人服務,聯(lián)系電話:18980820575
建立一個觸發(fā)器,實現(xiàn)在刪除一個表格時,自動把刪除的數(shù)據(jù)保存到一張備份表中,并加上刪除時間:
建立備份表:
CREATE TABLE `products_` (
prod_id int(11) NOT NULL,
vend_id int(11) NOT NULL,
prod_name char(20),
prod_price int(11),
prod_desc char(50),
del_time datetime ,
PRIMARY KEY (`prod_id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk
建立觸發(fā)器:
DROP TRIGGER prod_delete; --刪除觸發(fā)器prod_delete,如果存在.要修改觸發(fā)器只能刪除重建;
DELIMITER $$ --重定義語名結(jié)束符;
CREATE TRIGGER prod_delete --觸發(fā)器為prod_delete;
BEFORE DELETE ON products --在刪除products表內(nèi)容前生效
FOR EACH ROW --針對所有刪除的行
BEGIN --開始觸發(fā)器內(nèi)容
INSERT INTO products_ (prod_id,vend_id,prod_name,prod_price,prod_desc,del_time) VALUES (old.prod_id,old.vend_id,old.prod_name,old.prod_price,old.prod_desc,NOW());
END; --觸發(fā)器內(nèi)空結(jié)束
$$ --重定義語名結(jié)束符;
DELIMITER ; --重新定義語名結(jié)束符;
MSSQL:
當更新物料庫存時,自動更新BOM分錄表的即時庫存欄:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create TRIGGER ICInventory_update --建立ICInventory_update 觸發(fā)器,用alter進行修改
ON ICInventory --建立在庫存表上
AFTER update --作用于庫存更新后
AS
begin --開始執(zhí)行動作
update ICBOMChild set FEntrySelfZ0142=Inserted.fqty from Inserted where ICBOMChild.FItemID=Inserted.FItemID and inserted.FStockID='4435'
end --結(jié)束
GO --運行
MYSQL 和MSSQL的臨時表和格式不同,mysql 只有更新數(shù)據(jù)的 new 表 和刪除數(shù)據(jù)的 old 表,MSSQL的更新表則名為Inserted,存放刪除數(shù)據(jù)的臨時表則名為deleted 。