<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zjhiphop

    人生苦短稍即逝,此時不搏待何時!!!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      2 Posts :: 1 Stories :: 40 Comments :: 0 Trackbacks

     今天研究了半天,終于得到正確的結果,和大家分享分享!
    查了一下官網(wǎng):

    mysql創(chuàng)建觸發(fā)器:CREATE TRIGGER trigger_name trigger_time trigger_event    ON tbl_name FOR EACH ROW trigger_stmt觸發(fā)程序是與表有關的命名數(shù)據(jù)庫對象,當表上出現(xiàn)特定事件時,將激活該對象。

    觸發(fā)程序與命名為tbl_name的表相關。tbl_name必須引用永久性表。不能將觸發(fā)程序與TEMPORARY表或視圖關聯(lián)起來。

    trigger_time是觸發(fā)程序的動作時間。它可以是BEFORE或AFTER,以指明觸發(fā)程序是在激活它的語句之前或之后觸發(fā)。

    trigger_event指明了激活觸發(fā)程序的語句的類型。trigger_event可以是下述值之一:

    ·         INSERT:將新行插入表時激活觸發(fā)程序,例如,通過INSERT、LOAD DATA和REPLACE語句。

    ·         UPDATE:更改某一行時激活觸發(fā)程序,例如,通過UPDATE語句。

    ·         DELETE:從表中刪除某一行時激活觸發(fā)程序,例如,通過DELETE和REPLACE語句。

    請注意,trigger_event與以表操作方式激活觸發(fā)程序的SQL語句并不很類似,這點很重要。例如,關于INSERT的BEFORE觸發(fā)程序不僅能被INSERT語句激活,也能被LOAD DATA語句激活。

    可能會造成混淆的例子之一是INSERT INTO .. ON DUPLICATE UPDATE ...語法:BEFORE INSERT觸發(fā)程序對于每一行將激活,后跟AFTER INSERT觸發(fā)程序,或BEFORE UPDATE和AFTER UPDATE觸發(fā)程序,具體情況取決于行上是否有重復鍵。

    對于具有相同觸發(fā)程序動作時間和事件的給定表,不能有兩個觸發(fā)程序。例如,對于某一表,不能有兩個BEFORE UPDATE觸發(fā)程序。但可以有1個BEFORE UPDATE觸發(fā)程序和1個BEFORE INSERT觸發(fā)程序,或1個BEFORE UPDATE觸發(fā)程序和1個AFTER UPDATE觸發(fā)程序。

    trigger_stmt是當觸發(fā)程序激活時執(zhí)行的語句。如果你打算執(zhí)行多個語句,可使用BEGIN ... END復合語句結構。這樣,就能使用存儲子程序中允許的相同語句


    我有數(shù)據(jù)庫netshop和shopserver,兩個數(shù)據(jù)庫中分別有order表,要保證兩個表同步更新(插入和刪除),主要實現(xiàn)如下:

    插入數(shù)據(jù)同步更新
    drop trigger orderinsert;
    create trigger orderinsert before insert on orders
    for each row
    begin
    insert into shopserver.orders set
    shopserver.orders.orderid = NEW.orderid ,
    shopserver.orders.userid = NEW.userid,
    shopserver.orders.orderdate = NEW.orderdate,
    shopserver.orders.address = NEW.address,
    shopserver.orders.contactman = NEW.contactman,
    shopserver.orders.postcode = NEW.postcode,
    shopserver.orders.ordersum = NEW.ordersum,
    shopserver.orders.dealdate = NEW.dealdate,
    shopserver.orders.status = NEW.status,
    shopserver.orders.note = NEW.note ;
    end;

    刪除數(shù)據(jù)同步更新
    create trigger orderdelete after delete on orders
    for each row
    begin
    delete from shopserver.orders
    where shopserver.orders.orderid = OLD.orderid ;
    end;

    posted on 2009-04-23 18:14 杰德。張 閱讀(1395) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 中文字幕在线亚洲精品| 亚洲a∨国产av综合av下载| 亚欧乱色国产精品免费视频| 无码国产亚洲日韩国精品视频一区二区三区| 亚洲成a人片在线观看久| 无码乱人伦一区二区亚洲一| 免费看一区二区三区四区| 亚洲第一极品精品无码久久| 国产精品免费无遮挡无码永久视频| 成人毛片免费观看| 亚洲AV无码一区二区三区电影| 久久最新免费视频| 亚洲精品成人无限看| 国产亚洲人成在线影院| 99re在线视频免费观看| 亚洲视频一区二区| 亚洲免费人成在线视频观看| 久久久久亚洲精品影视| 四虎免费影院ww4164h| 亚洲日本中文字幕天天更新| 可以免费观看的一级毛片| 亚洲五月综合缴情婷婷| 色播在线永久免费视频| 一级毛片不卡免费看老司机| 亚洲国产精品VA在线观看麻豆| 日韩免费码中文在线观看| 久久精品女人天堂AV免费观看| 亚洲bt加勒比一区二区| 一级毛片视频免费观看| 亚洲精品高清国产一线久久| 亚洲网站在线免费观看| 激情小说亚洲图片| 久久青青成人亚洲精品| 国产精品视频全国免费观看| 日韩中文字幕在线免费观看 | 7777久久亚洲中文字幕| 国产成人精品123区免费视频| 亚洲无吗在线视频| 亚洲AV无码一区二区乱子伦| 6080午夜一级毛片免费看| 国产V亚洲V天堂无码|