日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全IT社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當前位置:首頁 > 互聯(lián)網(wǎng) > 淺談觸發(fā)器使用

淺談觸發(fā)器使用

來源:程序員人生   發(fā)布時間:2014-11-10 08:15:24 閱讀次數(shù):2846次

    個人重構時看有人登錄時使用觸發(fā)器,當時我是用存儲進程+事務實現(xiàn)的,也沒有進1步思考,表面理解觸發(fā)器就是由1個事件觸發(fā)另外一個事件,存儲進程也是封裝了1組sql語句,再加上事務的1致性原則,也能夠到達1個動作的完全性。現(xiàn)在牛腩中又觸及到這個東西,存在即公道,也彌補1下學習中的空白,主要總結1下如何使用及和存儲進程的不同。

1、建立:

      1、   觸發(fā)器是特殊的存儲進程,只不過它的履行不是由程序調(diào)用,也不是手工啟動,而是由事件來觸發(fā)Insert、Update、Delete這些動作,比如牛腩中刪除新聞種別時,要刪除種別下面的新聞及評論,這里在新聞種別下面建立刪除新聞種別觸發(fā)器,當履行時,還會包括1個或兩個測試表,稱之為inserted表和deleted(這里是deleted ),用于保存目標更新、插入或刪除的數(shù)據(jù)信息,雖然不能直接修改測試表中的數(shù)據(jù),但能通過SELECT語句,來檢測INSERT,UPDATE或DELETE的結果。觸發(fā)器的創(chuàng)建:

<span style="font-size:18px;">--==================================== -- Author:李立平 --Date:2014⑴0⑺ --Description:刪除種別時,刪除響應新聞和評論 --==================================== ALTER TRIGGER [dbo].[trigCategoryDelete] on [dbo].[T_Category] instead of Delete AS BEGIN declare @caID INT SELECT @caID =id from deleted --刪除評論 delete T_Comment where newsid in(select newsid from T_News where caID=@caID) --刪除新聞 delete T_News WHERE caID=@caID --刪除種別 DELETE T_Category where id=@caID END</span>

2、和存儲進程相比:

         首先建立時,我選擇http://www.jyygyx.com/db/―可編譯性―http://www.jyygyx.com/db/觸發(fā)器,發(fā)現(xiàn)履行后并沒有建好的觸發(fā)器,后來才知道原來在每張表的下面,但第2張圖上面建好的存儲進程履行后就在http://www.jyygyx.com/db/的可編譯性下面。



2、使用(D層代碼中體現(xiàn)):

    存儲進程在使用時,用戶通過指定存儲進程的名字并給出參數(shù)(如果該存儲進程帶有參數(shù))來履行它 ,而觸發(fā)器就是普通的sql語句,在履行這個事件時調(diào)用觸發(fā)器這個操作。

1、存儲進程(刪除新聞功能):

<span style="font-size:18px;">/// <summary> /// 刪除新聞 /// </summary> /// <param name="id">新聞id</param> /// <returns>布爾</returns> public bool Delete(string id) { bool flag = false; string cmdText = "NewsDelete"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@id", id) }; int res = sqlhelper.ExecuteNonQuery(cmdText, paras, CommandType.StoredProcedure); if (res>0) { return true; } return flag; }</span>

2、觸發(fā)器(刪除種別功能):

/// <summary> /// 刪除新聞種別,連同刪除新聞及新聞評論,用到觸發(fā)器 /// </summary> /// <param name="id">新聞id</param> /// <returns>布爾</returns> public bool Delete(string id) { bool flag = false; string cmdText = "delete T_Category where id=@id"; SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@id",id ) }; int res = sqlhelper.ExecuteNonQuery(cmdText, paras, CommandType.Text); if (res>0) { return true; } return flag; }

       總結:我們要去嘗試新事物,公道使用它們給我們帶來的便利。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 精品999在线| 黄色电影免费看 | 波多野结衣在线视频播放 | 久久99久久99 | 欧美日韩一区在线 | 毛片福利| 婷婷综合 | 欧美 日韩 中文 | 欧美视频三区 | 国产亚洲综合在线 | 精品一区二区三区国产 | 在线亚洲一区二区 | 成人av在线网 | 成人一区在线观看 | 色综合视频一区二区三区 | 久草在线免费福利 | 日韩不卡 | 寡妇一级毛片视频 | 久久精品国产亚洲一区二区三区 | 国产一区二区三区欧美 | 自拍色图 | 国产专区一区二区 | 严国精品国产三级国产 | 日本久久片| 99久久久无码国产精品 | 最近更新2019中文在线视频 | 久久久精品免费观看 | 可以免费看av的网站 | 久久永久免费 | 国语对白av | 午夜网站在线观看 | 中文字幕一区二区三区日韩精品 | 亚洲免费综合 | 99久久久国产精品 | 一级免费片 | 久久综合久 | 蜜桃精品久久久久久久免费影院 | 久久久久免费视频 | 精品在线播放 | 国产福利免费在线观看 | 欧美一级精品 |