SELECTing into usertype, how to do it?

From: Mario Splivalo <mario(dot)splivalo(at)mobart(dot)hr>
To: pgsql-sql(at)postgresql(dot)org
Subject: SELECTing into usertype, how to do it?
Date: 2006-04-25 12:03:07
Message-ID: 1145966587.8822.5.camel@localhost.localdomain
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

I have a type, declared like this:

CREATE TYPE type_a AS (
member_a varchar,
member_b bool
);

There is also a table:

CREATE TABLE table_a (
col_a varchar,
col_b bool,
col_c int4
);

Now, in a function, I declared type_var variable of type type_a:

DECLARE type_var type_a;

And then, when I want to fill in the type_var, i do this:

type_var.member_a := col_a FROM table_a WHERE col_c = 5;
type_var.member_b := col_b FROM table_a WHERE col_c = 5;

Is there a way to fill in the type_var, but from just one statement?
Here I have two 'selects' on table_a, and that seems as bit expensive
when iterated a lot of times.

I guess I could do:
SELECT col_a, col_b INTO type_var.member_a, type_var.member_b FROM
table_A WHERE col_c = 5;

but that is a bit hard to read :)

Are there more options on doing what I'd like to do?

Mario
--
Mario Splivalo
Mob-Art
mario(dot)splivalo(at)mobart(dot)hr

"I can do it quick, I can do it cheap, I can do it well. Pick any two."

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message A. Kretschmer 2006-04-25 12:21:04 Re: SELECTing into usertype, how to do it?
Previous Message Jim C. Nasby 2006-04-25 00:15:53 Re: Migrating a Database to a new tablespace