Re: Views and default values
От | will trillich |
---|---|
Тема | Re: Views and default values |
Дата | |
Msg-id | 20010409143305.U8213@serensoft.com обсуждение исходный текст |
Ответ на | Re: Views and default values (DaVinci <bombadil@wanadoo.es>) |
Список | pgsql-general |
On Fri, Apr 06, 2001 at 01:26:39PM +0200, DaVinci wrote: > On Fri, Apr 06, 2001 at 12:24:09PM +0100, Michael Ansley wrote: > > >> Data Base: > > >> > > >> create table foo ( > > >> cod serial primary key, > > >> explication text, > > >> silly bool default 't'); > > >> > > >> create view v_foo as > > >> select * from foo; > > >> > > >> create rule v_foo_ins as on insert to v_foo do instead > > >> insert into foo values ( > > >> NEW.cod, > > >> NEW.explication, > > >> NEW.silly); > > You should probably have this: > > > > create rule v_foo_ins as on insert to v_foo do instead > > insert into foo (explication, silly) values ( > > NEW.explication, > > NEW.silly); > > > > The rule is trying to insert NEW.cod, which is null, into the table. This > > rule let's the cod field take care of itself. > > That is valid for 'cod' but not for 'silly'. I'd like that if insert value > is null, then I get default value, but if insert value is not null, this is > value that is saved. what would be NICE would be something that did > select FIELD_DEFAULT(thistable.myfield); 't'::bool > select FIELD_DEFAULT(afield) from sometable; 'now'::timestamp > create view mynewview as select * from mytable; > create rule myrule as on insert to mynewview do instead insert into mytable values ( coalesce(new.field1,FIELD_DEFAULT(mytable.field1)), coalesce(new.field2,FIELD_DEFAULT(mytable.field2)), coalesce(new.field3,FIELD_DEFAULT(mytable.field3)), coalesce(new.field4,FIELD_DEFAULT(mytable.field4)) ); which would answer a question in a separate thread -- how to get the default value of a column from a table's definition... would it be difficult to create such a function? -- americans should never read anything so subversive as what's at http://www.salon.com/people/col/pagl/2001/03/21/spring/index1.html will@serensoft.com http://sourceforge.net/projects/newbiedoc -- we need your brain! http://www.dontUthink.com/ -- your brain needs us!
В списке pgsql-general по дате отправления: