多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > 淺談觸發器使用

淺談觸發器使用

來源:程序員人生   發布時間:2014-11-10 08:15:24 閱讀次數:2842次

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

1、建立:

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

<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.vxbq.cn/db/―可編譯性―http://www.vxbq.cn/db/觸發器,發現履行后并沒有建好的觸發器,后來才知道原來在每張表的下面,但第2張圖上面建好的存儲進程履行后就在http://www.vxbq.cn/db/的可編譯性下面。



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

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

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、觸發器(刪除種別功能):

/// <summary> /// 刪除新聞種別,連同刪除新聞及新聞評論,用到觸發器 /// </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; }

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

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 自拍 欧美 | 亚洲国产成人精品一区二区三区 | 韩国午夜理伦三级2020豆豌 | 国产三级中文字幕 | 国产精品不卡片视频免费观看 | 亚洲成熟 | 亚洲国产精品一区二区三区在线观看 | 视频一区二区中文字幕 | 91桃色观看免费高清 | 高清在线一区二区三区亚洲综合 | 日本在线播放一区 | 国产免费高清 | 亚洲欧美日韩国产一区二区精品 | 和同事激情中文版在线观看 | 在线观看视频在线观看 | 校园春色亚洲色图 | 亚洲精品h | 欧美网色 | 亚洲精品一二三区-久久 | 亚洲永久网站 | 日韩精品国产精品 | 亚洲国产精品乱码一区二区三区 | 91伊人影院 | 校园春色 自拍偷拍 | 国产一区2区 | 亚洲天堂图片 | 校园春色 自拍偷拍 | 亚洲专区在线播放 | 99久久精品免费看国产免费软件 | 日韩免费一区二区三区 | 自拍偷拍2019 | 老司机免费福利在线观看 | 国产视频大全 | 国语精品91自产拍在线观看二区 | v天堂在线 | 日本高清69 | 一级做a爰片欧美一区 | 国产精品亚洲精品久久成人 | 日本一区二区不卡久久入口 | 精品久久久久久综合网 | 欧美精品亚洲精品日韩 |