Я создаю небольшую библиотечную базу данных в SSH Secure Shell.Моя таблица CHECKOUT имеет атрибут CheckoutDate.У меня есть другая таблица CHECKIN, которая имеет атрибут CheckinDue.Я пытаюсь выяснить, как получить значение CheckoutDate и использовать его для вычисления CheckinDue и вставить его в CHECKIN.
Пока я пытался сделать это с помощью триггера, но я застрял.Вот что у меня есть:
create table CHECKOUT(
CheckoutID int(5) not null unique primary key,
CheckoutStatus varchar(3),
CheckoutDate date,
BookID int(5) not null, foreign key (BookID) references BOOK(BookID),
MemID int(5) not null, foreign key (MemID) references MEMBER(MemID) );
create table CHECKIN(
CheckoutID int(5) not null unique,
MemID int(5) not null,
BookID int(5) not null,
primary key (CheckoutID, MemID, BookID),
foreign key (CheckoutID) references CHECKOUT(CheckoutID),
foreign key (MemID) references MEMBER(MemID),
foreign key (BookID) references BOOK(BookID),
CheckinDate DATE,
CheckinDue DATE,
CheckinLate int(1) );
BEGIN
declare tempDate DATE;
declare calcDate DATE;
SELECT CheckoutDate INTO tempDate FROM CHECKOUT WHERE CheckoutID = 1;
SELECT DATEADD(day, 7, tempDate) into calcDate;
UPDATE CHECKIN set CheckinDue = calcDate where CheckoutID = 1;
END;
Прямо сейчас CHECKOUT показывает:
+------------+----------------+--------------+--------+-------+
| CheckoutID | CheckoutStatus | CheckoutDate | BookID | MemID |
+------------+----------------+--------------+--------+-------+
| 1 | OUT | 2019-04-29 | 10 | 2 |
, а CHECKIN показывает:
| CheckoutID | MemID | BookID | CheckinDate | CheckinDue | CheckinLate |
+------------+-------+--------+-------------+------------+-------------+
| 1 | 2 | 10 | 2019-05-07 | NULL | NULL |
и я пытаюсь получить:
| CheckoutID | MemID | BookID | CheckinDate | CheckinDue | CheckinLate |
+------------+-------+--------+-------------+------------+-------------+
| 1 | 2 | 10 | 2019-05-07 | 2019-05-06 | YES |
Это самая продвинутая вещь, которую я сделал в SQL (мажор с второстепенным в CS), так что я немного потерян в триггере и хранимых функциях.