As name said “Instead Of” when you submit any transaction, “Instead of” trigger get fire first instead of your submitted DML processes further. You can define only one “Instead Of” Trigger for one table or one view.
--create table for demo
CREATE TABLE empData
(
Name varchar(10),
Age INT
)
--create INSTEAD OF trigger on empData table,
--which will show message if Age > 100
--and roll back transaction
alter TRIGGER empAgeCheck ON empData
INSTEAD OF INSERT
AS
SET NOCOUNT ON
DECLARE @Age INT
SELECT @Age=Age FROM INSERTED
IF (@Age>100)
BEGIN
print 'you can not do this'
ROLLBACK
END
GO
--try inserting records and see message
INSERT INTO empData VALUES('TestName',101)
--finally check your data in empData table.
select * from empData
Reference: Ritesh Shah
http://www.sqlhub.com
Note: Microsoft Books online is a default reference of all articles but examples and explanations prepared by Ritesh Shah, founder of http://www.SQLHub.com
2 comments:
What about empdata table. Now row inserted in this ?
no, row will not be inserted, have you checked the example I saw?
Post a Comment