Collections:
Creating Triggers for INSERT Statements Only in SQL Server
How To Create a Trigger for INSERT Only in SQL Server?
✍: FYIcenter.com
The trigger, dml_message, provided in previous tutorials was defined to handle all 3 types of DML statements, INSERT, UPDATE, and DELETE.
If you do not want the trigger to handle all 3 types of DML statements, you can list only 1 or 2 of the statement keywords. For example, the following SQL script defines a trigger that only handle the INSERT statement events:
USE FyiCenterData
GO
CREATE TRIGGER new_user ON fyi_users
AFTER INSERT
AS
PRINT 'Time: '+CONVERT(VARCHAR(12),GETDATE())
+ ' New users added.';
GO
INSERT INTO fyi_users (name) VALUES ('Marc Kumar');
GO
Time: Jul 1 2007
Records are inserted, updated, or deleted in fyi_users
Time: Jul 1 2007 New users added.
(1 row(s) affected)
UPDATE fyi_users SET email='marc@fyicenter'
WHERE name = 'Marc Kumar';
GO
Time: Jul 1 2007
Records are inserted, updated, or deleted in fyi_users
(1 row(s) affected)
Notice that the INSERT statement triggered two triggers to be executed: dml_message and new_user. But the UPDATE statement triggered one trigger to be executed: dml_message as expected.
It is also interesting to know that when multiple triggers are defined to handle the same event, the oldest (defined first) will be executed first.
⇒ sys.trigger_events - Event List of an Existing Trigger in SQL Server
⇐ "DISABLE TRIGGER" - Disabling Triggers in SQL Server
2016-10-24, 2326🔥, 0💬
Popular Posts:
How To Create a Stored Program Unit in Oracle? If you want to create a stored program unit, you can ...
How To Convert Numeric Values to Integers in SQL Server Transact-SQL? Sometimes you need to round a ...
How To Round a Numeric Value To a Specific Precision in SQL Server Transact-SQL? Sometimes you need ...
What are single-byte character string data types supported in SQL Server Transact-SQL? Single-byte c...
How To Verify Your PHP Installation in MySQL? PHP provides two execution interfaces: Command Line In...