Как в Sql добавить подзапрос в функцию CHECK?

Нужно использовать именно CHECK, без использования процедур и тригеров!

ALTER TABLE tbl_member
ADD CONSTRAINT chk_max_books CHECK (
    (SELECT COUNT(*) FROM tbl_loan WHERE tbl_loan.member_id = tbl_member.member_id AND return_date IS NULL) <= 10
);

ERROR:

в ограничении-проверке нельзя использовать подзапросы

ОШИБКА:

в ограничении-проверке нельзя использовать подзапросы SQL state: 0A000


Ответы (1 шт):

Автор решения: Guzya

Сделайте поле в котором будете хранить текущее количество книг на руках (count_book в Member) и увеличивайте\уменьшайте его при взял\вернул, через триггер, там же проверяйте не превышен ли порог.

→ Ссылка