Как в 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) и увеличивайте\уменьшайте его при взял\вернул, через триггер, там же проверяйте не превышен ли порог.