请教一个由触发器所引起的问题!
我先是创建了如下的触发器: 
 create         Trigger   UpdateTrigger   On   table1 
 For   Update 
 As 
 if   update(DeleteStatus) 
 Begin   tran 
                         update   table2 
                         set   DeleteStatus=0 
                         where   table2_table1ID=(Select   table1ID   from   inserted) 
 commit   tran 
 而后,我创建了一个存储过程: 
 create   proc   p_Update 
 @t   datetime 
 as 
 update   table1 
 set   Date=@t 
 接下来的问题就是:当我执行这个存储过程的时候,我在服务器跟踪中发现,实际执行的是上面的触发器,而不是存储过程!令我感到很奇怪的是,明明我在触发器中用的是“if   update(DeleteStatus)”,而我在存储过程更新的是“set   Date=@t”,二者不是同一个字段,为何会出现只执行触发器的语句而不执行存储过程的语句? 
 请教一下各位高手!谢谢!
------解决方案--------------------執行存儲過程後 table2表DeleteStatus字段有改變嗎?
------解决方案--------------------如果用instead of 不用for 呢?
------解决方案--------------------create   Trigger UpdateTrigger On table1 
 instead of Update 
------解决方案--------------------第一个问题:后触发器是先执行触发器里面的SQL语句再判断激发触发器的,它是先执行里面的 
 Begin tran 
         update table2 
         set DeleteStatus=0 
         where table2_table1ID=(Select table1ID from inserted) 
 commit tran 
 再判断if update(DeleteStatus)是否要激发触发器 
 第二个问题:一般来说执行存储过程都可以服务器跟踪器里面看到的。