简单的问题请教
create   trigger   delete_employee   on   employee 
 for   delete    
 as    
 declare   @typeid   varchar(10) 
 select   typeid=@typeid   from   deleted 
 delete   from   loginuser   where   etypeid=@typeid 
 go   
 这个触发器里的。select   typeid=@typeid   from   deleted   这句话是什么意思呢,好久都没太明白.deleted是一个表还是什么其它的。 
------解决方案--------------------create trigger delete_employee on employee 
 for delete  
 as  
 declare @typeid varchar(10) 
 select @typeid =typeid from deleted 
 delete from loginuser where etypeid=@typeid 
 go   
 这个触发器里的。select typeid=@typeid from deleted 这句话是什么意思呢,好久都没太明白.deleted是一个表还是什么其它的。 
 ----------------------------------------- 
 deleted 是產生的一個臨時表,觸發結束後自動刪除 
 裡面紀錄的是 表刪除前的數據 
 select @typeid=typeid from deleted 
 就是把刪除前的 typeid 值給 變量 @typeid 
 建議該trigger 這樣寫 
 create trigger delete_employee on employee 
 for delete  
 as  
 delete loginuser from loginuser ,deleted where loginuser.etypeid=deleted.typeid 
 go   
------解决方案--------------------create trigger delete_employee on employee 
 for delete  
 as  
 declare @typeid varchar(10) 
 select typeid=@typeid from deleted 
 delete from loginuser where etypeid=@typeid 
 go 
 ----------------------------------------------- 
 应该: 
 create trigger delete_employee on employee 
 for delete  --在删除表employee里的记录时触发 
 as  
 declare @typeid varchar(10)  
 select @typeid=typeid from deleted --取得删除记录的typeid 
 delete from loginuser where etypeid=@typeid --删除loginuser表中etypeid=@typeid的记录  
 go