Search Postgresql Archives

Re: function return update count

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Kevin Duffy <kevind0718@xxxxxxxxx> 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 use
   GET DIAGNOSTICS integer_var = ROW_COUNT;
   


Andreas




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux