亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL觸發器的作用是什么

發布時間:2021-06-25 14:59:43 來源:億速云 閱讀:701 作者:Leah 欄目:數據庫

本篇文章為大家展示了SQL觸發器的作用是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

觸發器的作用

  1、安全性,可以基于數據庫的值使用戶具有操作數據庫的某種權利。

  2、審計,可以跟蹤用戶對數據庫的操作。

  3、實現復雜的非標準的數據庫相關完整性規則,觸發器可以對數據庫中相關的表進行連環更新。

  4、觸發器能夠拒絕或回退那些破壞相關完整性的變化,取消試圖進行數據更新的事務。當插入一個與其主健不匹配的外部鍵時,這種觸發器會起作用。

  5、同步實時地復制表中的數據

  6、自動計算數據值,如果數據的值達到了一定的要求,則進行特定的處理。

  mysql中死鎖:是指兩個或兩個以上的進程在執行過程中,因爭奪資源而造成的一種互相等待的現象,若無外力作用,它們都將無法推進下去.此時稱系統處于死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱為死鎖進程。表級鎖不會產生死鎖.所以解決死鎖主要還是針對于最常用的InnoDB。

  死鎖的關鍵在于:兩個(或以上)的Session加鎖的順序不一致。

  那么對應的解決死鎖問題的關鍵就是:讓不同的session加鎖有次序

  

mysql中死鎖案例

  需求:將投資的錢拆成幾份隨機分配給借款人。

  起初業務程序思路是這樣的:

  投資人投資后,將金額隨機分為幾份,然后隨機從借款人表里面選幾個,然后通過一條條select for update 去更新借款人表里面的余額等。

  例如兩個用戶同時投資,A用戶金額隨機分為2份,分給借款人1,2

  B用戶金額隨機分為2份,分給借款人2,1

  由于加鎖的順序不一樣,死鎖當然很快就出現了。

  對于這個問題的改進很簡單,直接把所有分配到的借款人直接一次鎖住就行了。

  Select * from xxx where id in (xx,xx,xx) for update

  在in里面的列表值mysql是會自動從小到大排序,加鎖也是一條條從小到大加的鎖

上述內容就是SQL觸發器的作用是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

泰和县| 饶平县| 宜良县| 磐石市| 建始县| 孙吴县| 禄劝| 柘荣县| 余姚市| 历史| 武陟县| 哈巴河县| 锡林郭勒盟| 墨脱县| 郎溪县| 昌平区| 钟山县| 湟源县| 甘孜| 南投市| 公主岭市| 开鲁县| 通化市| 宣化县| 玉树县| 门源| 新巴尔虎右旗| 丁青县| 凤翔县| 永善县| 望谟县| 安吉县| 天柱县| 江都市| 巴楚县| 苍南县| 马关县| 深州市| 民县| 长宁县| 舟曲县|