Re: Storing Procedures / Transactions

From: "Merlin Moncure" <mmoncure(at)gmail(dot)com>
To: "Christian Kasprowicz" <chris(at)feel-free(dot)de>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Storing Procedures / Transactions
Date: 2006-10-12 02:26:48
Message-ID: b42b73150610111926p53cf3cbct2633cfbce45bb90e@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 10/9/06, Christian Kasprowicz <chris(at)feel-free(dot)de> wrote:
> PROCEDURE MyProcedure(Value1 int, Value2 text, Value3 varchar(30))
> BEGIN
> ---check if something is valid
> ---compute something
> ---store values I got via THIS query and put them in table A, B and C
> ---see wether everything is ok
> COMMIT;
>
> ...which I execute from a client like: exec MyProcedure(Value1, Value2,
> Value3)
>
> Hope someone can talk me through this… ;)

documentation is your friend : You should read through section V.
'Extending SQL' PostgreSQL has very rich extensibility features.
IMO, you should focus on pl/pgsql.

create or replace function foo(a int, b text) returns void as
$$
declare
valid boolean;
something numeric;
values record;
ok boolean default true;
begin
select into valid f1 = a where f2 = b;
something := 3 + a;
for values in select * from bar order by z loop
if values.v >= something then
ok := false;
end if;
update foobar set x = x + 1set where key = b;
end loop;
return;
end;
$$ language plpgsql;

merlin

In response to

Browse pgsql-general by date

  From Date Subject
Next Message snacktime 2006-10-12 03:36:18 Re: more anti-postgresql FUD
Previous Message Merlin Moncure 2006-10-12 02:11:37 Re: Database Auditing