Jika Anda lebih suka mengelola database SQL Server dengan menjalankan kueri T-SQL, daripada menggunakan GUI, berikut adalah dua opsi untuk mencantumkan semua pemicu di database saat ini.
Opsi 1 – Tampilan Katalog sys.triggers
Anda dapat menggunakan sys.triggers tampilan katalog sistem untuk mendapatkan daftar semua pemicu dalam database.
USE Test; SELECT name, OBJECT_NAME(parent_id) AS parent, type, type_desc FROM sys.triggers;
Hasil:
+-------------------+----------+--------+-------------+ | name | parent | type | type_desc | |-------------------+----------+--------+-------------| | t1_insert_trigger | t1 | TR | SQL_TRIGGER | | t6ins | t6 | TR | SQL_TRIGGER | +-------------------+----------+--------+-------------+
Tampilan ini mengembalikan semua pemicu dengan tipe TR (SQL DML trigger) atau TA (Assembly (CLR) DML trigger). Ini mengembalikan nama pemicu DML dan nama pemicu DDL (tidak seperti opsi berikutnya, yang hanya mengembalikan pemicu DML).
Opsi 2 – Tampilan Katalog sys.objects
Anda juga dapat menggunakan sys.objects tampilan katalog sistem untuk mendapatkan daftar pemicu.
USE Test;
SELECT
SCHEMA_NAME(schema_id) AS [schema],
name,
OBJECT_NAME(parent_object_id) AS parent,
type,
type_desc
FROM sys.objects
WHERE type IN ('TR', 'TA');
Hasil:
+----------+-------------------+----------+--------+-------------+ | schema | name | parent | type | type_desc | |----------+-------------------+----------+--------+-------------| | dbo | t1_insert_trigger | t1 | TR | SQL_TRIGGER | | dbo | t6ins | t6 | TR | SQL_TRIGGER | +----------+-------------------+----------+--------+-------------+
Perhatikan bahwa sys.objects hanya mencantumkan pemicu DML dan bukan pemicu DDL.
Ini karena sys.objects hanya mengembalikan objek cakupan skema. Nama pemicu DML tercakup dalam skema tetapi nama pemicu DDL dicakup oleh entitas induk. Jika Anda perlu mengembalikan pemicu DDL, gunakan sys.triggers .