Обсуждение: AW: Please advise features in 7.1

Поиск
Список
Период
Сортировка

AW: Please advise features in 7.1

От
Zeugswetter Andreas SB
Дата:
> Reason: I want to know if any of these features are scheduled.
> 
> 1. Calculated fields in table definitions . eg.
> 
>    Create table test (
>             A Integer,
>             B integer,
>            the_sum   As  (A+B),
> );

This is currently easily done with a procedure that takes a tabletype parameter
with the name the_sum returning the sum of a + b.
  Create table test (            A Integer,            B integer   );

create function the_sum (test) returns integer as
'begin;    return ($1.a + $1.b);end;
' language 'plpgsql';

A select * won't return the_sum, but a select t.a, t.b, t.the_sum from test t; 
will do what you want.

Unfortunately it only works if you qualify the column the_sum with a tablename or alias.
(But I heard you mention the Micro$oft word, and they tend to always use aliases anyway)
Maybe we could even extend the column search in the unqualified case ?

Andreas


Re: AW: Please advise features in 7.1

От
Don Baccus
Дата:
At 12:28 PM 11/23/00 +0100, Zeugswetter Andreas SB wrote:
>
>> Reason: I want to know if any of these features are scheduled.
>> 
>> 1. Calculated fields in table definitions . eg.
>> 
>>    Create table test (
>>             A Integer,
>>             B integer,
>>            the_sum   As  (A+B),
>> );
>
>This is currently easily done with a procedure that takes a tabletype
parameter
>with the name the_sum returning the sum of a + b.
>
>   Create table test (
>             A Integer,
>             B integer
>    );
>
>create function the_sum (test) returns integer as
>'
>    begin;
>        return ($1.a + $1.b);
>    end;
>' language 'plpgsql';
>
>A select * won't return the_sum

create view test2 select A, B, A+B as the_sum from test;

will, though.

See, lots of ways to do it!



- Don Baccus, Portland OR <dhogaza@pacifier.com> Nature photos, on-line guides, Pacific Northwest Rare Bird Alert
Serviceand other goodies at http://donb.photo.net.