0

我有一个Customer表,其中有一列显示客户是否为"AllowRefund",并且必须有一列By_Which_Staff来指示哪些员工将特权归功于 "AllowRerfund"

我的要求是:在将员工 ID 放入By_Which_Staff表之前,数据库应首先检查AllowRefund列是否为Yes,然后才能将员工 ID 放入其中。

4

2 回答 2

2

这应该是一个约束。仅当您对(或至少使用)当前行之外的某些内容进行操作时,才应使用触发器。

对于不可接受的值(负年龄,k1 学生超过 18 岁)应使用约束,复合值(例如全名)应使用计算值。

于 2012-11-09T16:38:15.180 回答
1

CHECK约束可能是最简单的。假设 MS-SQL:

CHECK (AllowRefund = 1 Or By_Which_Staff Is Null)
于 2012-11-09T16:37:42.000 回答