foreach statment?

From: Abdul-wahid Paterson <aw(at)lintrix(dot)net>
To: pgsql-general(at)postgresql(dot)org
Subject: foreach statment?
Date: 2003-05-19 15:08:13
Message-ID: 1053356892.2796.3696.camel@yusuf.lintrix.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

I have a situation (that I seem to come across often - hence the
question) where I have 3 tables.

items
items_options
options

items has a many-to-many relationship with options so items_options is
merely a link table with an item_id and and option_id.

What I need to do is give a default option to all items that don't have
any options.

I would do something like this:

select i.item_id from items i where (select count(item_id) from
items_options where item_id=i.item_id) = 0;

And then write a script that will go through the outputted list of
item_id's and for each one do an insert statement like:

insert into items_options values ($item_id, $n);

Where $n is the number of my default option.

My question is this. Is there any way of performing the above in SQL
through the psql command interface without having to write a throw-away
script to do the job for me? It would need some sort of "foreach"
operation for the select statement. Does any such operation exist?

Regards,

Abdul-Wahid

--
Abdul-Wahid Paterson

Lintrix Networking & Communications ltd.
Web: http://www.lintrix.net/
Tel: +44 7801 070621
Email/Jabber: aw(at)lintrix(dot)net
--------------------------------------------------------------------
Web-Hosting | Development | Security | Consultancy | Domains
--------------------------------------------------------------------

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Renê Salomão 2003-05-19 15:11:33 Re: How return a refcusor using functions????
Previous Message ahoward 2003-05-19 14:51:29 Re: 7.3.2, pam, on Linux 2.4.18-18.7.x i686