Re: [SQL] RV: A little problem updating data with views
От | wieck@debis.com (Jan Wieck) |
---|---|
Тема | Re: [SQL] RV: A little problem updating data with views |
Дата | |
Msg-id | m10q3OO-0003kGC@orion.SAPserv.Hamburg.dsh.de обсуждение исходный текст |
Ответ на | Re: [SQL] RV: A little problem updating data with views (Chris Bitmead <chris.bitmead@bigfoot.com>) |
Список | pgsql-sql |
> > I don't believe views are updatable in postgresql. They are - if someone read the chapter on rules. CREATE RULE vtest_upd AS ON UPDATE TO VTEST DO INSTEAD UPDATE ttest SET t = new.t WHERE t = old.t; It is just that those rules cannot simply be generated on the fly while CREATE VIEW. In this simple case of course, but if the view is a join of 3 tables, it's not clear how to update them (if at all). So it's up to the DB designer to create them by hand. Jan > > Jorge Herrera Pi=F1ero wrote: > >=20 > > Hello, > >=20 > > We are using PostgreSQL v6.4 and have problems when we want update > > data throught views. > > When we issue an update statment within a view, always obtain 'UPDA= > TE 0' > > and the data is not updated. We have checked write permissions on v= > iew > > and are right. > >=20 > > Any ideas was going wrong? > >=20 > > thanks in advance. > >=20 > > A complete UPDATE test: > >=20 > > test=3D> create table ttest (t varchar(20), n int4); > > test=3D> create view vtest as select t from ttest; > > test=3D> insert into ttest values('asd', 0); > > test=3D> select * from vtest; > > t > > --- > > asd > > (1 row) > >=20 > > test=3D> grant all on ttest, vtest to postgres; > > CHANGE > >=20 > > test=3D> update vtest set t=3D'asdasd'; > > UPDATE 0 > > --=20 > Chris Bitmead > http://www.bigfoot.com/~chris.bitmead > mailto:chris.bitmead@bigfoot.com > > -- #======================================================================# # It's easier to get forgiveness for being wrong than for being right. # # Let's break this rule - forgive me. # #========================================= wieck@debis.com (Jan Wieck) #
В списке pgsql-sql по дате отправления: