Learn when you want, where you want with convenient online training courses. Sign up now!
Experts Exchange Solution brought to you by
"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.
create table mycoolTable(a int)
CREATE TRIGGER DDLTR_SchemaBindTrigger
SET NOCOUNT ON
declare @E xml
set @E = eventdata()
declare @TableName sysname
SELECT @TableName = @E.value('(/EVENT_INSTANCE/ObjectName)','nvarchar(128)')
IF @TableName = 'myCoolTable' AND EXISTS (SELECT * FROM sys.triggers t WHERE t.name = 'myCoolInsteadOfTrigger') BEGIN
RAISERROR ('Could not alter table %s, because trigger %s exists. Drop the trigger first, then alter the table and recreate the trigger',
alter table myCoolTable add b int -- this will work. No trigger
create trigger myCoolInsteadOfTrigger
on myCoolTable instead of insert
print 'here I am'
alter table myCoolTable add c int -- this will return the error
DROP TRIGGER myCoolTrigger
alter table myCoolTable add c int -- will work again :)
Open in new window
Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.
From novice to tech pro — start learning today.
Premium members can enroll in this course at no extra cost.