说我有以下表格:
User(user_id, name, age,...)
Job(job_id, salary, user_id)
我希望对Job
设置约束,以便每当工作的薪水都是> 20,000,执行该作业的用户必须年龄≥1岁。我已经尝试了CHECK
约束,但它似乎仅适用于单个表?
答案 0 :(得分:2)
这是正确的,检查约束仅适用于单个表。 您必须使用触发程序来阻止不需要的数据,请参阅触发程序中的以下链接。
答案 1 :(得分:2)
您可以使用用户定义的功能执行此操作。该函数可以在另一个表中查找该值。
我不一定推荐这种方法。对于许多应用程序,我将insert / update语句包装在存储过程/函数中并将逻辑放在那里。但是,这可以在没有触发的情况下实现。