你是清空 test1,test2
还是删除这笔数据,如果删除记录的话,其他字段值也就没了~~
需求说详细点~~

解决方案 »

  1.   

    create trigger on student
    for update
    AS 
    BEGIN
    if update(test2)
       update student set test2=''end
      

  2.   

    笔误,写错了条件 test2 ,应该为 test1create trigger on student
    for update
    AS 
    BEGIN
    if update(test1)
       update student set test2=''end
      

  3.   

    if update(test1)
       update a set test2=''
       from student a
       inner join inserted b on a.stuid=b.stuid
       where b.test1 = ''
      

  4.   

    刚才的两个触发器,忘记带查询条件了,下面修改一下create trigger on student
    for update
    AS 
    BEGIN
    if update(test1)
       update student set test2='' where stuID=(select stuID from deleted)end
      

  5.   

    2楼我是想删除test1
    不是UPDATA
      

  6.   

    arrow_gx:
      我的意思是删除操作触发事件
      

  7.   

    要刪除就是要刪一行  而你只刪一行的某一列 那就是相當於UPDATE
      

  8.   

    这不是删除,是修改,也就是update 
    CREATE TRIGGER trig_update 
    ON student 
    FOR UPDATE 
    AS 
    declare @id int 
    declare @test1dd 
    select @id=stuID from inserted 
    select @test1dd=test1 from inserted 
    IF UPDATE(test1) //判断是否修改了这列 
    BEGIN 
    if(@test1dd="") //判断修改的是否为空 
    update student set test2="" where stuID=@id 
    END 
    GO 
    已经解决了,谢谢大家!