Я пытаюсь создать базу данных форума, и в этой базе данных у меня есть триггер. После вставки он должен скопировать значения другой таблицы в новую, но также должен создать новый столбец, показывающий фактическую дату регистрации пользователя. Вот код триггера:
Create OR REPLACE FUNCTION insertUser() RETURNS TRIGGER AS $insertUser$
BEGIN
INSERT INTO public.freshlyinserted(user_id, username, bday, gender, uemail, pasword)
VALUES (NEW.user_id, NEW.username, NEW.bday, NEW.gender, NEW.uemail, NEW.pasword, NEW.registerdate);
RETURN NEW;
END;
$insertUser$ LANGUAGE plpgsql;
CREATE TRIGGER moveUserToInserted
AFTER INSERT ON forumusers
FOR EACH ROW EXECUTE PROCEDURE insertUser();
Когда я пытаюсь это сделать, он говорит мне следующее:
ОШИБКА Запись "new" не имеет поля "registerdate" CONTEXT: SQL оператор "INSERT INTO publi c .freshlyinserted (user_id, username, bday, пол, uemail, pasword) ЗНАЧЕНИЯ (NEW.user_id, NEW.username, NEW.bday, NEW.gender, NEW.uemail, NEW.pasword, NEW .registerdate)». Функция PL / pgSQL insertuser () строка 2 для оператора SQL
В таблице forumuser нет столбца «registerdate» ... но мне бы очень хотелось, чтобы новая таблица с фактическая дата (я не знаю, как это сделать, хотя) Я был бы счастлив, если бы мне помогли с этим. Я выложу больше необходимого кода! Btw. Без зарегистрированной даты это работает ... но тогда таблица не будет иметь смысла для меня XD
Спасибо! :)