检查单只存在记录

问题描述:

我有检查单只存在记录

GID 
ID 
DefaultA 
DefaultB 
DefaultC 
DefaultD 
DefaultE 
DefaultF 

我的要求的表是有至少应该有一个记录在数据库中始终。

在前端,如果最终用户试图更新它的确定,因为如果他试图进入一个新的纪录,我必须阻止他,他将更新现有record.But。

消除所有插入,删除权限...

,或者

添加一个回滚试图删除或插入一条记录的任何事务的触发器。

Create Trigger MyTableEnsureSingleRowTrigger 
On MyTable for Insert, Delete 
As Rollback Transaction 

创建一个主键字段,输入tinyint,并设置约束,以便该值只能是“1”(您可以在字段上使用唯一索引)。你单条记录设置字段值设置为“1”。然后没有其他的记录可以被输入。

假设GID是主键,这里是SQL代码来约束添加到现有表:从所有用户

ALTER TABLE dbo.address ADD CONSTRAINT 
    single_record CHECK (GID = 1)