觸發器是SQL server提供給程序員和數據分析師的壹種確保數據完整性的方法。它是壹個與表事件相關的特殊存儲過程。它的執行由事件觸發,而不是由程序調用或手動啟動。例如,當壹個表被操作(插入、刪除、更新)時,它將被激活。觸發器通常用於實施數據完整性約束和業務規則。觸發器可以在DBA_TRIGGERS和USER_TRIGGERS數據字典中找到。SQL3的觸發器是壹個可以由系統自動修改數據庫的語句。
觸發器可以查詢其他表並包含復雜的SQL語句。它們主要用於強制遵守復雜的業務規則或需求。例如,您可以根據客戶的當前帳戶狀態控制是否允許插入新訂單。
觸發器也可用於實施參照完整性,以便在多個表中添加、更新或刪除行時,保留這些表之間定義的關系。但是,實施參照完整性的最佳方式是在相關表中定義主鍵和外鍵約束。如果使用數據庫圖表,可以在表之間創建關系,以自動創建外鍵約束。
觸發器和存儲過程之間的唯壹區別是,觸發器不能執行EXECUTE語句調用,而是在用戶執行Transact-SQL語句時自動觸發執行。