Tsql 检查是否只存在一条记录

Tsql 检查是否只存在一条记录,tsql,validation,concept,Tsql,Validation,Concept,我有一张桌子 GID ID DefaultA DefaultB DefaultC DefaultD DefaultE DefaultF 我的要求是数据库中应该始终有一条记录 在前端,如果最终用户试图更新其ok,因为他将更新现有记录。但如果他试图输入新记录,我必须阻止他。创建主键字段,键入tinyint,并设置约束,使值只能为“1”(您可以在字段上使用唯一索引)。将单个记录的字段值设置为“1”。则不能输入其他记录 假设GID是主键,下面是将约束添加到现有表中的sql代码: ALTER TABLE

我有一张桌子

GID
ID
DefaultA
DefaultB
DefaultC
DefaultD
DefaultE
DefaultF
我的要求是数据库中应该始终有一条记录


在前端,如果最终用户试图更新其ok,因为他将更新现有记录。但如果他试图输入新记录,我必须阻止他。

创建主键字段,键入tinyint,并设置约束,使值只能为“1”(您可以在字段上使用唯一索引)。将单个记录的字段值设置为“1”。则不能输入其他记录

假设GID是主键,下面是将约束添加到现有表中的sql代码:

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

删除所有用户的所有插入、删除权限

或者

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

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