我有一张STUDENTS
包含学生信息的表格。每个学生可能会或可能不会CANDIDATE
参加大学投票活动,具体取决于CANDIDATE BIT
.
我想要一张VOTE
保存学生投票的表格,但我想检查被插入的学生VOTES_FOR
是否实际上是 a CANDIDATE
。用简单的英语:检查被投票的人是否真的是候选人。
关于如何检查此约束的任何想法?我想使用简单的常规 DDL 命令而不是存储过程和 PL/SQL 或 T-SQL 来完成这项任务
CREATE TABLE STUDENTS(
ID INT NOT NULL UNIQUE AUTO_INCREMENT = 1,
FIRST_NAME NVARCHAR(20) NOT NULL ,
LAST_NAME NVARCHAR(20) NOT NULL,
CANDIDATE BIT DEFAULT '0',
PRIMARY KEY(ID)
);
CREATE TABLE VOTE(
STUDENT_ID references STUDENTS(ID),
VOTES_FOR references STUDENTS(ID),
PRIMARY KEY STUDENT_ID
);