sql >> Database teknologi >  >> RDS >> Sqlserver

Returner en DML Triggers Type på en tabel i SQL Server

I SQL Server kan du bruge den lagrede procedure sp_helptrigger til at returnere den eller de typer af DML-triggere, der er defineret i den angivne tabel for den aktuelle database.

Denne lagrede procedure virker kun på DML-triggere (ikke DDL-triggere).

Syntaks

Den officielle syntaks lyder sådan her:

sp_helptrigger [ @tabname = ] 'table'   
     [ , [ @triggertype = ] 'type' ]

Du skal angive tabelnavnet som et argument. Du kan præfikse det med @tabname = , men dette er valgfrit.

Du har også mulighed for at angive en triggertype. Dette kan enten være INSERT , DELETE eller UPDATE .

Eksempel 1 – Grundlæggende brug

Her er et simpelt eksempel at demonstrere.

EXEC sp_helptrigger 'dbo.t1';

Resultat:

+-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+
| trigger_name      | trigger_owner   | isupdate   | isdelete   | isinsert   | isafter   | isinsteadof   | trigger_schema   |
|-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------|
| t1_insert_trigger | dbo             | 0          | 0          | 1          | 1         | 0             | dbo              |
+-------------------+-----------------+------------+------------+------------+-----------+---------------+------------------+

I tilfælde af at du har problemer med at rulle sidelæns, her er resultatet igen ved at bruge lodret output:

trigger_name   | t1_insert_trigger
trigger_owner  | dbo
isupdate       | 0
isdelete       | 0
isinsert       | 1
isafter        | 1
isinsteadof    | 0
trigger_schema | dbo

Eksempel 2 – Angiv en type

I dette eksempel angiver jeg også typen.

EXEC sp_helptrigger 'dbo.t1', 'INSERT';

Resultat (ved hjælp af lodret output):

trigger_name   | t1_insert_trigger
trigger_owner  | dbo
isupdate       | 0
isdelete       | 0
isinsert       | 1
isafter        | 1
isinsteadof    | 0
trigger_schema | dbo

I dette tilfælde var der en trigger af den type.

Her bruger den igen en anden type.

EXEC sp_helptrigger 'dbo.t1', 'DELETE';

Resultat:

(0 rows affected)

I dette tilfælde var der ingen DELETE udløsere på det bord.


  1. null vs tom streng i Oracle

  2. psql:server lukkede uventet forbindelsen

  3. Sådan vises alle visninger i Oracle-databasen

  4. SQL kommandoer