我有两个表,用下面的SQL数据库查询:SQL约束检查使用下表日与联外键
CREATE TABLE user
(
user_email varchar(255) not null primary key,
--other unimportant columns
subscription_start date not null,
subscription_end date,
CONSTRAINT chk_end_start CHECK (subscription_start != subscription_end)
)
CREATE TABLE action
(
--unimportant columns
user_email varchar(255) not null,
action_date date not null,
CONSTRAINT FK_user FOREIGN KEY (user_email) REFERENCES user(user_email)
)
我想什么做的是确保用某种检查约束的是, action_date
介于subscription_start
和subscription_end
之间。
当尝试这一点的SQL,我得到以下错误:'多部分标识符“inserted.user_email”无法绑定“和类似一个关于inserted.action_date。这是什么原因? – Dirk 2014-11-21 11:10:47
对不起 - '插入'虚拟表必须用于连接,而不是直接在where-criteria。我编辑了我的答案 - 现在应该可以工作。 – Dan 2014-11-21 13:17:09