On Thu, Nov 27, 2008 at 10:27 AM, Javier Chávez B. <[EMAIL PROTECTED]> wrote: >> >> Algo asi: >> create view bar as select * from foo; >> >> --replace * with the actual names of columns for every column you want to >> affect >> create rule r_insert_bar as on insert to bar do instead insert into >> foo values (new.*); >> create rule r_update_bar as on update to bar do instead update foo set >> * = new.* where pk =old.pk; >> create rule r_delete_bar as on delete to bar do instead delete from >> where pk =old.pk; > > O sea de esta manera estoy actualizando una vista pero le indico que > actualice los campos fisicos que lo componen verdad??? su manera de > trabajo es como una especie de trigger??? >
no. una vista es un select con un nombre. no tiene campos fisicos... mas bien el DO INSTEAD le dice que en lugar de ejecutar la sentencia que tu le pasaste (ej: INSERT INTO mivista) ejecute la sentencia que yo le digo... es mas un re-escritor de consultas (una forma de macro si se quiere) -- Atentamente, Jaime Casanova Soporte y capacitación de PostgreSQL Asesoría y desarrollo de sistemas Guayaquil - Ecuador Cel. +59387171157 -- TIP 8: explain analyze es tu amigo
