Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 04/01/2018 17:14:13
- Michel Depiesse
- Membre
Insert / update / delete
Bonjour,
Est-il possible de faire des insert / update / delete sur une vue matérialisée étant entendu qu'on pourrait le faire avec une vue ordinaire ayant le même select ?
On en parle sans doute dans la documentation mais je n'ai pas trouvé où.
Merci pour votre attention
Hors ligne
#2 04/01/2018 17:24:28
- rjuju
- Administrateur
Re : Insert / update / delete
https://www.postgresql.org/docs/current … views.html :
the materialized view cannot subsequently be directly updated
Julien.
https://rjuju.github.io/
Hors ligne
#3 04/01/2018 18:46:35
- Michel Depiesse
- Membre
Re : Insert / update / delete
Merci mais je ne vois pas si je peux faire
CREATE MATERIALIZED VIEW mymatview ...
INSERT INTO mymatview...
DELETE FROM mymatview...
UPDATE mymatview...
Encore merci et bonne soirée
Hors ligne
#4 04/01/2018 19:44:20
- gleu
- Administrateur
Re : Insert / update / delete
Le plus simple est de tester, non ?
postgres=# create table t1(c1 integer, c2 text);
CREATE TABLE
postgres=# insert into t1 values (1, 'un');
INSERT 0 1
postgres=# create materialized view mv1 as select * from t1;
SELECT 1
postgres=# select * from mv1;
c1 | c2
----+----
1 | un
(1 row)
postgres=# insert into mv1 values (2, 'deux');
ERROR: cannot change materialized view "mv1"
postgres=# update mv1 set c2='deux' where c1=1;
ERROR: cannot change materialized view "mv1"
postgres=# delete from mv1 where c1=1;
ERROR: cannot change materialized view "mv1"
Donc non, ce n'est pas possible
Guillaume.
Hors ligne
#5 05/01/2018 11:24:43
- Michel Depiesse
- Membre
Re : Insert / update / delete
Merci ! Et bon week-end à vous et à Dalibo
Hors ligne
Pages : 1