我想在表中默认存放一条记录,不能被删除。不知道有没有办法

解决方案 »

  1.   

    在表上绑一个inserted of 触发器
    create trigger triggername
    on table
    instead of delete
    as
    begin
       .....
    end
    go
      

  2.   

    select * from ta
    /*
    Type  
    ----- 
    1,2
    3,4
    1,2,3(所影响的行数为 3 行)*/create trigger triggername 
    on ta 
    instead of delete 
    as 
    begin 
       RAISERROR ('你企图删除表ta 中的  %d 条记录,根据业务规则,是不允许的.',
          16, 1, @@rowcount)
       ROLLBACK TRANSACTIONend 
    godelete from ta/*服务器: 消息 50000,级别 16,状态 1,过程 triggername,行 6
    你企图删除表ta 中的  3 条记录,根据业务规则,是不允许的.
    */
    select * from ta
    /*
    Type  
    ----- 
    1,2
    3,4
    1,2,3(所影响的行数为 3 行)*/
      

  3.   

    楼主不知道这儿是mssql ?
    --try :CREATE TRIGGER t_del BEFORE DELETE ON ta
    FOR EACH ROW   
    BEGIN   
        rollback;   
    END;//   
    delimiter ;