1

我正在开发一个用于设备管理的数据库,用户可以在其中登录和注销设备。我有一个名为 TBL_Usage 的表来跟踪这一点。退出项目时,会在此表中创建一个带有退出日期的新记录,重新登录时,会在同一记录中输入登录日期。

出于此问题的目的,该表如下所示: TBL_Usage(Date_Out, Date_In, Equipment_ID)

现在一个项目不能同时签出两次,因此对于每个 Equipment_ID,最多只能有一个 Date_In 为空的记录。我想创建一个触发器/约束来处理这个问题,但不太确定如何设置它。

4

1 回答 1

2

您可以使用过滤的唯一索引来做到这一点。

create unique index IX_TBL_Usage_Equipment_ID 
  on TBL_Usage(Equipment_ID) 
  where Date_In is null
于 2012-11-06T18:07:18.207 回答