我试图在多个表的ORACLE数据库中强制执行CHECK约束
CREATE TABLE RollingStocks (
Id NUMBER,
Name Varchar2(80) NOT NULL,
RollingStockCategoryId NUMBER NOT NULL,
CONSTRAINT Pk_RollingStocks Primary Key (Id),
CONSTRAINT Check_RollingStocks_CategoryId
CHECK ((RollingStockCategoryId IN (SELECT Id FROM FreightWagonTypes))
OR
(RollingStockCategoryId IN (SELECT Id FROM LocomotiveClasses)))
);
…但我收到以下错误:
*Cause: Subquery is not allowed here in the statement.
*Action: Remove the subquery from the statement.
你能帮我理解问题是什么或者如何达到同样的结果吗?