Create loop in postgresql - Mailing list pgsql-general

From Robert Buckley
Subject Create loop in postgresql
Date
Msg-id 1346686242.73529.YahooMailNeo@web133006.mail.ir2.yahoo.com
Whole thread Raw
Responses Re: Create loop in postgresql
List pgsql-general
Hi,

I am trying to loop through the records in a table and update a column. I can do this with a case statement but I would like to simplify this to a simple loop statement. I can´t seem to work out how to do it though.

Here is the case statement.

select name,ges_kw_zgb,
case
When name='Bad Harzburg' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))
When name='Braunlage' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))
When name='Braunschweig' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))
When name='Büddenstedt' then (select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2))

End as z

from energie.tennet_auswertung_2010
;


 Instead of having to write the name variable in the function, I would just like to iterate through each record and execute the select round(100 * (ges_kw_zgb / (select sum(ges_kw_zgb) From energie.tennet_auswertung_2010)),2) command. 

If anyone can help I´d me grateful,

cheers,

Rob

pgsql-general by date:

Previous
From: Magnus Hagander
Date:
Subject: Re: Postgres not getting logged in from command prompt
Next
From: salah jubeh
Date:
Subject: Re: Create loop in postgresql