如何根据其他表中的值限制字段数据?

时间:2019-03-29 07:31:20

标签: postgresql

我有四种类型的员工:

CREATE TYPE type AS ENUM ('HUMAN','CYBORG','ROBOT','ALIEN');
CREATE TABLE staff (id SERIAL PRIMARY KEY, name TEXT, type TYPE);

所以现在我试图创建表access_log,在其中我要列出除外星人以外的所有人员的访问权限,而且我不知道如何正确地检查表人员的类型:

CREATE TABLE access_log (s_id INT REFERENCES staff(id), atime TIMESTAMP DEFAULT NOW(), CHECK (staff.type<>'ALIEN'));
ERROR:  missing FROM-clause entry for table "staff"

那么我将如何限制access_log表以仅在其中列出所需的人员类型?

0 个答案:

没有答案