1

Temat: Zwracany wynik z procedury

Jak zrobić aby zwrócić z procedury ilość wstawionych/aktualizowanych wierszy?


CREATE OR REPLACE FUNCTION add_activity(date = CURRENT_DATE)
RETURNS integer AS $$
    DELETE FROM activity as a WHERE a.date = $1;

    INSERT INTO activity
    SELECT v.vid, v.uid, v.aid, v.pop, p.pop_total, $1 as insertDate
    FROM players as p, villages as v
    WHERE v.uid = p.uid
    RETURNING 1;

$$ LANGUAGE SQL;


zamiast zwracanej wartości 1 chciałbym aby była ilość wstawianych wierszy.

2

Odp: Zwracany wynik z procedury

A nie prościej napisać funkcję w plpgsql?

3

Odp: Zwracany wynik z procedury

na szybko

CREATE OR REPLACE FUNCTION add_activity(idik integer)
  RETURNS integer AS
$BODY$declare 
numrows int;
begin
insert into t1 select * from t2 where id between $1 and $1+2;
GET DIAGNOSTICS numrows = ROW_COUNT;
return numrows;
end;$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;
Pozdrawiam
Pawel Socha