pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Mario Splivalo <mario.splivalo@mobart.hr>
To: pgsql-sql@postgresql.org
Subject: SELECTing into usertype, how to do it?
Date: Tue, 25 Apr 2006 14:03:07 +0200
Message-ID: <1145966587.8822.5.camel@localhost.localdomain> (raw)

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.splivalo@mobart.hr

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





view thread (4+ messages)  latest in thread

Message-ID: <1145966587.8822.5.camel@localhost.localdomain>
Permalink:  ../1145966587.8822.5.camel@localhost.localdomain/
Also on:    postgresql.org/message-id/1145966587.8822.5.camel@localhost.localdomain

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: mario.splivalo@mobart.hr
  Subject: Re: SELECTing into usertype, how to do it?
  In-Reply-To: <1145966587.8822.5.camel@localhost.localdomain>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox