检查单只存在记录
问题描述:
我有检查单只存在记录
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)