我有

的表
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)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top