【发布时间】:2014-01-17 22:42:48
【问题描述】:
我正在创建一个数据库,我有表 ProjectDetails.TimeCardExp 和 ProjectDetails.Project。 TimeCardExp表有一列ExpenseDate,表Project中有一列EndDate; (它们都接受 datetime 数据类型)。我想要做的是对 TimeCardExp 表的 ExpenseDate 列实施约束,以确保在 TimeCardExp 表的 ExpenseDate 列中输入的值小于同一员工的 Project 表的 EndDate 列中的值。
TimeCardExp 表 *TimeCardID*EmployeeID*ProjectID*ExpenseDate
项目表*ProjectID*EmployeeID*EndDate
上面是两张表和一些列,我的任务是确保在 TimeCard.ExpenseDate 中输入的值始终小于同一员工的值 Project.EndDate。谢谢
【问题讨论】:
-
为此使用触发器。跨表检查约束是有问题的,简单明了。
-
尝试使用检查但它一直返回错误,因为我对数据库管理系统比较陌生,我有这种感觉我只是没有使用正确的工具,所以我把它拿出来让专家对它的看法和建议,好吗?
标签: sql sql-server database triggers check-constraints