資料庫中的觸發器是用來做什麼的?

來源:互聯網
上載者:User
觸發器是一種特殊類型的預存程序,當使用下面的一種或多種資料修改操作在指定表中對資料進行修改時,觸發器會生效:UPDATE、INSERT 或 DELETE。觸發器可以查詢其它表,而且可以包含複雜的 SQL 陳述式。它們主要用於強制複雜的商務規則或要求。例如,可以控制是否允許基於顧客的當前帳戶狀態插入定單。

觸發器還有助於強制參考完整性,以便在添加、更新或刪除表中的行時保留表之間已定義的關係。然而,強制參考完整性的最好方法是在相關表中定義主鍵和外鍵約束。如果使用資料庫圖表,則可以在表之間建立關係以自動建立外鍵約束。有關詳細資料,請參見表關係。

使用觸發器的優點
觸發器的優點如下:

觸發器是自動的:它們在對錶的資料作了任何修改(比如手工輸入或者應用程式採取的操作)之後立即被啟用。

觸發器可以通過資料庫中的相關表進行層疊更改。例如,可以在 titles 表的 title_id 列上寫入一個刪除觸發器,以使其它表中的各匹配行採取刪除操作。該觸發器用 title_id 列作為唯一鍵,在 titleauthor、sales 及 roysched 表中對各匹配行進行定位。

觸發器可以強制限制,這些限制比用 CHECK 條件約束所定義的更複雜。與 CHECK 條件約束不同的是,觸發器可以引用其它表中的列。例如,觸發器可以復原試圖對價格低於 10 美元的書(儲存在 titles 表中)應用折扣 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.