shikhalev.org

Последние записи

ТехнологииПрограммированиеБД

2019.03.04 • Иван Шихалев

Всё для людей!

Ковыряюсь тут с PostgreSQL и вот какую замечательную штуку обнаружил…

Собственно, про существование «updatable views» я знал, и давно. Но пока не доводилось использовать. И я думал, что для того, чтобы они заработали, нужно прописывать правила для всех действий. Однако нет — простые представления делаются изменяемыми автоматически, т.е. пишем, например:

create table something_data (
       id      bigint       not null,
       name    varchar(200) not null,
       deleted boolean      not null default false,
       constraint pk_something primary key (id)
);
create unique index uq_something_name on something_data(name)
                                   where (deleted = false);

create view something as
       select id, name from something_data
        where deleted = false;

… и всё, этого достаточно — можно обращаться к представлению something так же, как к таблице — вставлять, изменять, удалять по id.


Читать далее »

PostgreSQLSQL