比如我有一个管理员的表admin
我只想有一行记录,禁止任何人插入新的数据.但可以更新.要怎么办?

解决方案 »

  1.   

    --插入前触发器实现create trigger it_admin on admin
    instead of insert
    as
    if exists(select 1 from admin)
    begin
    rollback tran
    return
    end
      

  2.   

    用触发器
    create trigger test_tr on dbo.test
    for insert
    as
    if exists(select 1 from inserted)
    begin
    raiserror 50001'禁止新增记录'
    rollback tran
    end
      

  3.   

    set ANSI_NULLS ON
    set QUOTED_IDENTIFIER ON
    GO
    -- =============================================
    -- Author: Rocky
    -- Create date: 2007-01-15
    -- Description: 禁止刪除辛辛苦苦建立起來的DB文檔
    -- =============================================
    Create TRIGGER [dbo].[TR_Sys_CanNotInsert]
       ON  [dbo].[你的表名]
       FOR Insert
    AS 
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    rollback
        -- Insert statements for trigger here
    RAISERROR ('禁止插入數據',11,1)
    return 
    END