Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个Customer表,其中有一列显示客户是否为"AllowRefund",并且必须有一列By_Which_Staff来指示哪些员工将特权归功于 "AllowRerfund"。
我的要求是:在将员工 ID 放入By_Which_Staff表之前,数据库应首先检查AllowRefund列是否为Yes,然后才能将员工 ID 放入其中。
这应该是一个约束。仅当您对(或至少使用)当前行之外的某些内容进行操作时,才应使用触发器。
对于不可接受的值(负年龄,k1 学生超过 18 岁)应使用约束,复合值(例如全名)应使用计算值。
CHECK约束可能是最简单的。假设 MS-SQL:
CHECK
CHECK (AllowRefund = 1 Or By_Which_Staff Is Null)