[英]Oracle check constraint, call function
我正在尝试查询表(wishlist_table)以查看成员出现在其中的次数。
我正在尝试实施的业务规则是,成员一次可以在愿望清单上最多包含五个项目。
我被告知将其作为域约束来执行,因此我创建了一个函数来检查membersId在wishlist表中出现多少次,但是从我的检查约束中调用the时出现错误
CREATE TABLE WishlistTest
(
WishlistId NUMERIC(6) NOT NULL PRIMARY KEY,
CONSTRAINT chk_Wishlist CHECK (sw3.wishListUpToFiveItems() >= 0 AND sw3.wishListUpToFiveItems() < 5)
);
CREATE OR REPLACE FUNCTION functionWishListUpToFiveItems
RETURN number IS
total number(1) := 0;
BEGIN
SELECT count(*) into total
FROM Member
WHERE MemberId = 1;
IF total < 5 THEN
return total;
ELSE RETURN -1;
END IF;
END;
如果有人可以告诉我更好的解决方法或发现我做错了,那将是很好的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.