Я пытаюсь создать простую базу данных, в которой у меня есть таблица данных клиента и таблица данных заказа.Я пытаюсь написать ограничение, чтобы клиент не мог заказать больше определенного количества товаров в определенный день.Вот что у меня есть:
CREATE TABLE CUSTOMER
(
CUSTOMER_NUM CHAR(3) PRIMARY KEY,
CUSTOMER_NAME CHAR(35) NOT NULL,
STREET CHAR(15),
CITY CHAR(15),
STATE CHAR(3),
ZIP CHAR(5),
);
CREATE TABLE ORDERS
(
ORDER_NUM CHAR(5) PRIMARY KEY,
ORDER_DATE DATE,
CUSTOMER_NUM CHAR(3),
CONSTRAINT CUSTOMER_NUM_FKEY FOREIGN KEY (CUSTOMER_NUM)
REFRENCES CUSTOMER (CUSTOMER_NUM) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE CASCADE
);
И это то, что я написал, чтобы применить это ограничение, но оно не работает.Я предполагаю, потому что ORDER_NUM и ORDER_DATE никогда не имеют равных значений.
CREATE ASSERTION ITEM_LIMIT
CEHCK(
( SELECT COUNT(*)
FROM CUSTOMER C1, ORDERS O1
WHERE C1.CUSTOMER_NUM = O1.CUSTOMER_NUM AND
O1.ORDER_DATE = O1.ORDER_NUM
) <= 1000
Мой вопрос заключается в том, как заставить работать это ограничение, например, как я ограничиваю количество заказов в день.