|
Home >> FAQs/Tutorials >> SQL Server FAQ
SQL Server FAQ - Improving the Trigger to Handle NULL Values
By: FYIcenter.com
(Continued from previous topic...)
How To Improve the Trigger to Handle NULL Values?
When a NULL value is concatenated with a string, the result will be a null value.
So if you want the trigger to properly report NULL values,
you need to enhance the trigger as shown in the following tutorial example:
USE FyiCenterData;
GO
-- trigger executed but printed a NULL
UPDATE fyi_users SET email=NULL
WHERE name = 'John King';
GO
(1 row(s) affected)
ALTER TRIGGER update_user ON fyi_users
AFTER UPDATE
AS
DECLARE @new VARCHAR(80);
DECLARE @old VARCHAR(80);
SELECT @new = email FROM INSERTED;
SELECT @old = email FROM DELETED;
SELECT @new = ISNULL(email,'NULL') FROM INSERTED;
SELECT @old = ISNULL(email,'NULL') FROM DELETED;
PRINT 'Email changed from '+@old+' to '+@new;
GO
-- trigger is reporting NULL values now
UPDATE fyi_users SET email=NULL
WHERE name = 'John King';
GO
Email changed from NULL to NULL
(1 row(s) affected)
The trigger is handling NULL values properly now.
(Continued on next topic...)
- What Are Triggers?
- What Are the Basic Features of a Trigger?
- How To Create a Simple Table to Test Triggers?
- How To Create a DML Trigger using CREATE TRIGGER Statements?
- How To Test a DML Trigger?
- How To List All Triggers in the Database with sys.triggers?
- How To Modify Existing Triggers using "ALTER TRIGGER"?
- How To Delete Existing Triggers using "DROP TRIGGER"?
- How To Get the Definition of a Trigger Back?
- How To Disable Triggers using "DISABLE TRIGGER"?
- How To Create a Trigger for INSERT Only?
- How To See the Event List of an Existing Trigger using sys.trigger_events?
- How To Access the Inserted Record of an Event?
- How To Access the Deleted Record of an Event?
- How To Improve the Trigger to Handle NULL Values?
- What Happens to a Trigger with Multiple Affected Rows?
- How To Override DML Statements with Triggers?
- How To Create a DDL Trigger using "CREATE TRIGGER" Statements?
- Can You Roll Back the DDL Statement in a Trigger?
- Can You Create a Logon Trigger in SQL Server 2005 Express Edition?
|