Re: refer a column as a varible name?
От | gherzig@fmed.uba.ar |
---|---|
Тема | Re: refer a column as a varible name? |
Дата | |
Msg-id | 39044.157.92.152.53.1126634982.squirrel@webmail.fmed.uba.ar обсуждение исходный текст |
Ответ на | Re: refer a column as a varible name? (Michael Fuhr <mike@fuhr.org>) |
Список | pgsql-sql |
Im using pg 8.0. I personally dont have problem in using pl/perl, but none of my companions is a perl programmer, so i guess the IF..THEN seems to be an easy (altough not preferable) solution. Thank you very much Michael. Gerardo > On Mon, Sep 12, 2005 at 12:21:22PM -0300, gherzig@fmed.uba.ar wrote: >> suppose the >> >> type mycolumn as (field1, varchar, field2 varchar) >> and >> >> field_name = ''field1'' >> >> and returnValue declared as mycolumn >> ... >> can i say returnValue.$field_name = ''ok''? > > To achieve this in PL/pgSQL you'll need to use a conditional statement > (IF field_name = 'field1' THEN ...). I'm not sure if a solution > involving EXECUTE is possible; if so then it's probably non-obvious. > > What version of PostgreSQL are you using, and do you have a requirement > to use PL/pgSQL? In 8.0 PL/Perl can return composite types and such > an assignment would be trivial: > > CREATE TYPE mycolumn AS (field1 varchar, field2 varchar); > > CREATE FUNCTION foo(varchar) RETURNS mycolumn AS $$ > my $field_name = $_[0]; > my $returnValue = {$field_name => "ok"}; > return $returnValue; > $$ LANGUAGE plperl IMMUTABLE STRICT; > > SELECT * FROM foo('field1'); > field1 | field2 > --------+-------- > ok | > (1 row) > > SELECT * FROM foo('field2'); > field1 | field2 > --------+-------- > | ok > (1 row) > > -- > Michael Fuhr > > ---------------------------(end of broadcast)--------------------------- > TIP 1: if posting/reading through Usenet, please send an appropriate > subscribe-nomail command to majordomo@postgresql.org so that your > message can get through to the mailing list cleanly > > -- Gerardo Herzig Direccion General de Organizacion y Sistemas Facultad de Medicina U.B.A.
В списке pgsql-sql по дате отправления: