[ MarkoBalkan @ 24.10.2009. 22:10 ] @
imam funkciju za standardnu devijaciju i radi ali parametri su fiksni
Code:


CREATE OR REPLACE FUNCTION marko11() 
RETURNS  table (ID double precision)
AS $$
    Declare 
     x double precision;
     z double precision;
    begin
    
    select avg(stat."a") from stat into x;
    return query(select sqrt(sum((stat."a"-x)^2)/count(stat."a")) from stat) ;
    
    end;
    
$$

  LANGUAGE 'plpgsql' ;



ja ┼żelim ovako

Code:


CREATE OR REPLACE FUNCTION marko11(double precision, text) 
RETURNS  table (ID double precision)
AS $$
    Declare 
     x double precision;
     z double precision;
    begin
    
    select avg($1) from $2 into x;
    return query(select sqrt(sum(($1-x)^2)/count($1)) from $2) ;
    
    end;
    
$$

  LANGUAGE 'plpgsql' ;


select * from marko11($1,$2)

$1 -> bi trebao biti select stat."x" from stat
$2 -> stat tj. ime tablice, ali onda se i select za $1 mijenja kako se mijenja parametar 2.

kako ovo izvesti?
[ chachka @ 24.11.2009. 07:38 ] @
Koristi ugradjenu PostgreSQL funkciju stddev_pop