create trigger mytrigger on 表一
for delete
as
if (select a.编号 from 表二 as a,deleted as d where a.编号=d.编号) is not NULL
BEGIN
raiserror( N'不能删除此记录',16,1)
ROLLBACK TRANSACTION
END

解决方案 »

  1.   

    create tigger deltab1
    on tab1
    for delete as
    if exist(select * from tab2 where id=xxx)
       delete from tab2 where id=xxx
    else
       raiseerror ('cant delete ',16,0)
      

  2.   

    CREATE TRIGGER [TRI_表一_DEL] ON [表一] 
    FOR DELETE 
    ASIF EXISTS (SELECT * FROM 表二 WHERE 编号 IN (SELECT 编号 FROM DELETED))
    BEGIN
        ROLLBACK TRANSACTION
        RAISERROR ('不能删除。',16,10);
        RETURN
    ENDRETURN
      

  3.   

    create trigger tr_table1_delete
    on table1 
    for delete
    asif exists (select * from table2 where 编号 in (select 编号 from deleted))
      begin
       RAISERROR '不能删除此记录',16,1
       ROLLBACK TRANSACTION
      end
    go
      

  4.   

    create trigger tr_table1_delete
    on table1 
    for delete
    asif exists (select * from table2 where 编号 in (select 编号 from deleted))
      begin
       RAISERROR '不能删除此记录',16,1
       ROLLBACK TRANSACTION
      end
    go
      

  5.   

    create tigger table1_del on tabl1
    for delete asdeclare @del_id integerselect @del_id=id
    form deletedif exist(select * from tabl2 where id=@del_id )
       delete from tabl2 where id=@del_id 
    else
       raiseerror ('cant delete ',16,0)