Re: function return update count
От | David Johnston |
---|---|
Тема | Re: function return update count |
Дата | |
Msg-id | 540BD2EF-C815-44E2-A4C1-FE5899C3E5A6@yahoo.com обсуждение исходный текст |
Ответ на | Re: function return update count (Andreas Kretschmer <andreas@a-kretschmer.de>) |
Ответы |
Re: function return update count
|
Список | pgsql-general |
In 9.1 you could use and updatable CTE and in the main query perform and return a count. I would think plpgsql would be the better option though.
On Jan 6, 2012, at 2:29, Andreas Kretschmer <andreas@a-kretschmer.de> wrote:
On Jan 6, 2012, at 2:29, Andreas Kretschmer <andreas@a-kretschmer.de> wrote:
Kevin Duffy <kevind0718@gmail.com> hat am 6. Januar 2012 um 00:32 geschrieben:Hello:
I am try to get a function to return the count of the rows updated within the function.
As in the following, I wan the number of rows updated to be returned.
This is a simple update, other update statements that I need to write will be complicated.
CREATE OR REPLACE FUNCTION est_idio_return_stats_update()
RETURNS integer AS
'
update est_idiosyncratic_return_stats set delta_avg_60 = avg_60 - period_61_return, delta_avg_last_24 = avg_last_24 - period_61_return, delta_avg_last_18 = avg_last_18 - period_61_return,
delta_avg_last_12 = avg_last_12 - period_61_return, delta_avg_last_6 = avg_last_06 - period_61_return ;
'
LANGUAGE SQL ;
The above returns the following:
ERROR: return type mismatch in function declared to return integer
DETAIL: Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING.
CONTEXT: SQL function "est_idio_return_stats_update"
********** Error **********
ERROR: return type mismatch in function declared to return integer
SQL state: 42P13
Detail: Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING.
Context: SQL function "est_idio_return_stats_update"
Thanks for your kind assistance.
KD
I think, you can rewrite this to pl/pgsql (language, not sql) and than you can useGET DIAGNOSTICS integer_var = ROW_COUNT;
Andreas
В списке pgsql-general по дате отправления: