Search Postgresql Archives

Re: create type with %type or %rowtype

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2020-11-18 04:37, David G. Johnston wrote:
(resending to include the list)

On Tue, Nov 17, 2020 at 3:12 PM Post Gresql <postgresql@xxxxxxxxxxx> wrote:
create type my_type as my_table%rowtype;

This would be redundant with existing behavior - all tables have a corresponding type already

create type my_type as my_table.my_column%type;

What does the indirection get us?
 
Correct? It seems to be a feature for plpgsql programing only, right?

Correct

But wouldn't that be a good thing to be able to do?

You are the one proposing it - why would it be a good thing to do?

My idea, that I did not explain properly, sorry for that, is that when I write plpgsql functions I sometime need to have a certain column type as return value, or even a complete table row as return type.

Then it would be great if I could just refer to the column or row type when delcaring the return type.

It would also be handy if I could reference types when declaring other types,

for example

create type my_type (a int, b my_table.my_column%type);


The real reason: you will be sure you are using the same type everywhere.  And it is easier to change type later on, then only one column has to be changed, not many and in a lot of different places.

I hope that explains my idea.


David J.


On Tue, Nov 17, 2020 at 3:12 PM Post Gresql <postgresql@xxxxxxxxxxx> wrote:
Hello.

It seems that I can not create a type with

create type my_type as my_table%rowtype;

or

create type my_type as my_table.my_column%type;

Correct? It seems to be a feature for plpgsql programing only, right?

But wouldn't that be a good thing to be able to do? Or would it cause
too many problems?


Best regards





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux