我有一个客户表,其中有一列显示客户是“AllowRefund”,还必须有一列 By_Which_Staff 表明哪些员工认可“AllowRerfund”的特权。
我的要求是:在我将员工ID输入 By_Which_Staff 表之前,数据库应首先检查列 AllowRefund 是否是,然后可以将员工ID放入其中。
答案 0 :(得分:2)
这应该是一个约束。仅当您在当前行之外(或至少使用)某些事物时,才应使用触发器。
约束应该用于不可接受的值(负年龄,k1学生超过18),计算值应该用于复合值(例如全名)。
答案 1 :(得分:1)
CHECK
约束可能是最简单的。假设MS-SQL:
CHECK (AllowRefund = 1 Or By_Which_Staff Is Null)