题
我有
的表GID
ID
DefaultA
DefaultB
DefaultC
DefaultD
DefaultE
DefaultF
我的要求是,至少应该有一个记录在数据库中始终。
在前端,如果最终用户尝试,如果他试图进入一个新的记录更新它的确定,因为他将更新现有record.But我必须阻止他。
解决方案
消除所有插入,所有用户删除权限...
,或者
添加一个触发器,回滚任何事务试图删除或插入的记录。
Create Trigger MyTableEnsureSingleRowTrigger
On MyTable for Insert, Delete
As Rollback Transaction
其他提示
创建主键字段,类型TINYINT,并设置约束使得该值也只能是“1”(OE你可以对字段使用一个唯一的索引)。你单条记录设置字段值设置为“1”。然后没有其他记录可以被输入。
假设GID是主键,这里是SQL代码约束添加到现有的表:
ALTER TABLE dbo.address ADD CONSTRAINT
single_record CHECK (GID = 1)
不隶属于 StackOverflow