Rumah pangkalan data tutorial mysql 触发器概述_MySQL

触发器概述_MySQL

Jun 01, 2016 pm 01:59 PM
penyimpanan pengguna

在上面几节我们介绍了一般意义的存储过程,即用户自定义的存储过程和系统存储过 程。本节将介绍一种特殊的存储过程,即触发器。

在余下各节中我们将对触发器的概念、 作用以及对其的使用方法作详尽介绍,使读者了解如何定义触发器,创建和使用各种不同 复杂程度的触发器。

12.5.1 触发器的概念及作用
    触发器是一种特殊类型的存储过程,它不同于我们前面介绍过的存储过程。触发器主 要是通过事件进行触发而被执行的,而存储过程可以通过存储过程名字而被直接调用。当 对某一表进行诸如UPDATE、 INSERT、 DELETE 这些操作时,SQL Server 就会自动执行 触发器所定义的SQL 语句,从而确保对数据的处理必须符合由这些SQL 语句所定义的规 则。
    触发器的主要作用就是其能够实现由主键和外键所不能保证的复杂的参照完整性和数 据的一致性。除此之外,触发器还有其它许多不同的功能:
(1) 强化约束(Enforce restriction)
触发器能够实现比CHECK 语句更为复杂的约束。

(2) 跟踪变化Auditing changes
触发器可以侦测数据库内的操作,从而不允许数据库中未经许可的指定更新和变化。

(3) 级联运行(Cascaded operation)。
触发器可以侦测数据库内的操作,并自动地级联影响整个数据库的各项内容。例如,某个表上的触发器中包含有对另外一个表的数据操作(如删除,更新,插入)而该操作又导致该表上触发器被触发。
(4) 存储过程的调用(Stored procedure invocation)。
为了响应数据库更新触,发器可以调用一个或多个存储过程,甚至可以通过外部过程的调用而在DBMS( 数据库管理系统)本身之外进行操作。
    由此可见,触发器可以解决高级形式的业务规则或复杂行为限制以及实现定制记录等一些方面的问题。例如,触发器能够找出某一表在数据修改前后状态发生的差异,并根据这种差异执行一定的处理。此外一个表的同一类型(INSERT、 UPDATE、 DELETE)的多个触发器能够对同一种数据操作采取多种不同的处理。
    总体而言,触发器性能通常比较低。当运行触发器时,系统处理的大部分时间花费在参照其它表的这一处理上,因为这些表既不在内存中也不在数据库设备上,而删除表和插入表总是位于内存中。可见触发器所参照的其它表的位置决定了操作要花费的时间长短。

12.5.2 触发器的种类

    SQL Server 2000 支持两种类型的触发器:AFTER 触发器和INSTEAD OF 触发器。其中AFTER 触发器即为SQL Server 2000 版本以前所介绍的触发器。该类型触发器要求只有执行某一操作(INSERT UPDATE DELETE) 之后,触发器才被触发,且只能在表上定义。可以为针对表的同一操作定义多个触发器。对于AFTER 触发器,可以定义哪一个触发器被最先触发,哪一个被最后触发,通常使用系统过程sp_settriggerorder 来完成此任务。

    INSTEAD OF 触发器表示并不执行其所定义的操作(INSERT、 UPDATE、 DELETE),而仅是执行触发器本身。既可在表上定义INSTEAD OF 触发器,也可以在视图上定义INSTEAD OF 触发器,但对同一操作只能定义一个INSTEAD OF 触发器

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menggunakan akaun Xiaohongshu untuk mencari pengguna? Bolehkah saya mencari nombor telefon bimbit saya? Bagaimana untuk menggunakan akaun Xiaohongshu untuk mencari pengguna? Bolehkah saya mencari nombor telefon bimbit saya? Mar 22, 2024 am 08:40 AM

Bagaimana untuk menggunakan akaun Xiaohongshu untuk mencari pengguna? Bolehkah saya mencari nombor telefon bimbit saya?

Pengguna dan kumpulan tempatan tiada pada Windows 11: Cara menambahnya Pengguna dan kumpulan tempatan tiada pada Windows 11: Cara menambahnya Sep 22, 2023 am 08:41 AM

Pengguna dan kumpulan tempatan tiada pada Windows 11: Cara menambahnya

Log masuk ke Ubuntu sebagai pengguna super Log masuk ke Ubuntu sebagai pengguna super Mar 20, 2024 am 10:55 AM

Log masuk ke Ubuntu sebagai pengguna super

Terokai Panduan Windows 11: Cara Mengakses Folder Pengguna pada Pemacu Keras Lama Terokai Panduan Windows 11: Cara Mengakses Folder Pengguna pada Pemacu Keras Lama Sep 27, 2023 am 10:17 AM

Terokai Panduan Windows 11: Cara Mengakses Folder Pengguna pada Pemacu Keras Lama

Apakah sudo dan mengapa ia penting? Apakah sudo dan mengapa ia penting? Feb 21, 2024 pm 07:01 PM

Apakah sudo dan mengapa ia penting?

Tutorial: Bagaimana untuk memadam akaun pengguna biasa dalam sistem Ubuntu? Tutorial: Bagaimana untuk memadam akaun pengguna biasa dalam sistem Ubuntu? Jan 02, 2024 pm 12:34 PM

Tutorial: Bagaimana untuk memadam akaun pengguna biasa dalam sistem Ubuntu?

Windows 11 KB5031455 gagal dipasang, menyebabkan isu lain untuk sesetengah pengguna Windows 11 KB5031455 gagal dipasang, menyebabkan isu lain untuk sesetengah pengguna Nov 01, 2023 am 08:17 AM

Windows 11 KB5031455 gagal dipasang, menyebabkan isu lain untuk sesetengah pengguna

Huawei akan melancarkan produk storan MED yang inovatif tahun depan: kapasiti rak melebihi 10 PB dan penggunaan kuasa kurang daripada 2 kW Huawei akan melancarkan produk storan MED yang inovatif tahun depan: kapasiti rak melebihi 10 PB dan penggunaan kuasa kurang daripada 2 kW Mar 07, 2024 pm 10:43 PM

Huawei akan melancarkan produk storan MED yang inovatif tahun depan: kapasiti rak melebihi 10 PB dan penggunaan kuasa kurang daripada 2 kW

See all articles