From: | KÖPFERL Robert <robert(dot)koepferl(at)sonorys(dot)at> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Calling Functions in RULEs |
Date: | 2005-05-23 10:01:32 |
Message-ID: | ED4E30DD9C43D5118DFB00508BBBA76EB16713@neptun.sonorys.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi,
I had no try wheter this solves your problem, but have you conciddered using
an array or a self-written fcn which dicards your results
i.E. SELECT my_discard_but_last( q1(), q2(), q3());
or SELECT ARRAY[ q1(), q2(), q3() ];
or SELECT ROW(q1(), q2(), q3()) as my_tripel_type;
Have you considdered CASTs?
These are just ideas
|-----Original Message-----
|From: Jan B. [mailto:jan(at)monso(dot)de]
|Sent: Sonntag, 22. Mai 2005 11:24
|To: pgsql-sql(at)postgresql(dot)org
|Subject: [SQL] Calling Functions in RULEs
|
|
|Hello,
|
|I would like to call multiple PL/pgSQL procedures (i.e. functions
|returning void) from INSERT, UPDATE and DELETE RULEs.
|
|Using "SELECT some_procedure();" is a possible way to do that, but it
|causes a dummy result table to be delivered to the application
|invoking
|the INSERT/UPDATE/DELETE. When using multiple SELECTs to call multiple
|functions inside the RULE, multiple result tables will be delivered to
|the application, which is very unhandy and causes trouble especially
|when using asynchronous command processing. Though "psql" does
|only show
|the last result table, all dummy result tables have to be fetched by
|PGgetResult(), when using asynchronous mode with libpq.
|
|Is there any tidy way to call a void-function inside a RULE without
|creating a result table that is passed to the application?
|Using a command like "UPDATE dummy_table SET dummy=1 WHERE
|some_procedure() NOTNULL;" would work, but that would be very dirty.
|
|Does a command like "PERFORM" (from PG/pgSQL) exist in SQL too, which
|discards the (void) result of the function call?
|
|
|Thanks for helping
|
|Jan Behrens
|||
|
|---------------------------(end of
|broadcast)---------------------------
|TIP 2: you can get off all lists at once with the unregister command
| (send "unregister YourEmailAddressHere" to
|majordomo(at)postgresql(dot)org)
|
From | Date | Subject | |
---|---|---|---|
Next Message | Achilleus Mantzios | 2005-05-23 10:17:15 | Re: Need clarification |
Previous Message | palanivel.kumaran | 2005-05-23 09:52:02 | Need clarification |