Как я могу сделать авторасчет поля в postgresql? - PullRequest
0 голосов
/ 13 сентября 2011

У меня есть эта таблица

CREATE TABLE game (
    idp                   serial NOT NULL,
    start_pl              integer NOT NULL,
    finis_pl              integer NOT NULL,
    points                 integer NOT NULL
    );

Когда я вставляю или обновляю столбец finis_pl, я хочу автоматически заполнять точки столбца. Например, когда вставить номер 1 в столбец finis_pl, я хочу автоматически вставить значение 15 в столбец points.

Я сделал функцию, используя CASE (потому что у меня есть только 16 возможных значений для вставки в точки), но я не могу заставить ее работать с триггером.

Есть идеи, как заставить это работать?

1 Ответ

1 голос
/ 13 сентября 2011

Вместо хранения избыточных данных в базе данных (т. Е. finish_pl и points), вы можете просто сохранить finish_pl и создать представление , которое в дополнение к столбцам game будет также вычислять и включать столбец points.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...