У вас есть 3 варианта, чтобы сделать это
Вы можете использовать Date/Time Operators,
, например, ваш Issue_Date является 2015-03-19
то due_date должен быть 2015-04-19
, Так что вы можете использование '2015-03-18'::date + interval '30' DAY
в заявке на вставку
insert into B2S values (1,'Yes','2015-03-18','2015-03-18'::date + interval '30' DAY)
или вы можете создать функцию, как показано ниже, здесь argIssue_date
является стоимость вашего Issue_Date
даты и функция будет возвращает Due_Date
.
create or replace function fn_get_due_date(argIssue_date date) returns date
as
$$
select (argIssue_date::date + interval '30' DAY)::date
$$
language sql
и вызвать эту функцию в вставной заявлении
insert into B2S values (1,'Yes','2015-03-18',fn_get_due_date('2015-03-18'))
Создавая триггер, @Daniel Sagayaraj уже ответил об этом
увидеть разработанный триггер на вопрос ФПА в
CREATE OR REPLACE FUNCTION tgr_due_date() RETURNS trigger AS '
BEGIN
NEW.Due_Date := NEW.Issue_Date::date + interval ''30'' DAY;
RETURN NEW;
END;
' LANGUAGE plpgsql;
присваивающего созданный триггер tgr_due_date
таблицу B2S
CREATE TRIGGER due_date_insert
BEFORE INSERT OR UPDATE ON B2S
FOR EACH ROW
EXECUTE PROCEDURE tgr_due_date();
и, наконец, заявление вставки
insert into B2S (StudentID,Book_Issued,Issue_Date) values (1,'Yes','2015-05-18')
Да, Ваш ответ работал. Спасибо большое :) – John