From: | Richard Huxton <dev(at)archonet(dot)com> |
---|---|
To: | KÖPFERL Robert <robert(dot)koepferl(at)sonorys(dot)at> |
Cc: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Inserting or Deleting conditionally |
Date: | 2005-01-17 16:02:46 |
Message-ID: | 41EBE1A6.6050208@archonet.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
KÖPFERL Robert wrote:
> Hi,
>
> coming from imperative programming paradigma, I'm currently trying to
> express something like that in _SQL_:
SQL is not an imperative language - each SQL statement is an expression
to be evaluated.
> It should be atomic and like an API for a user. I'm therefore writing
> functions:
>
> CRETE FUNC...
>
> c := SELECT x,y,z FROM table_a WHERE...
> IF COUNT(c)=1 then
> INSERT / DELETE ... WHERE x = c.x
> ENDIF
Even if this was valid syntax, you've just made your query N times more
expensive. Try something like:
INSERT ... WHERE x IN (SELECT x FROM table_a WHERE ...)
or similar.
> How is this correctly formulated? Or is there no other way than PL/xxx?
Sounds like you want a middle-ware layer to provide an API for your
applications. Plenty of options, but it's difficult for people to make
suggestions without knowing more about your situation.
--
Richard Huxton
Archonet Ltd
From | Date | Subject | |
---|---|---|---|
Next Message | Yudie | 2005-01-17 18:44:20 | query configuration for validate empty quote to zero |
Previous Message | KÖPFERL Robert | 2005-01-17 15:25:59 | Inserting or Deleting conditionally |