Добрый день
Недавно начал пользоваться postgres и мне надо сделать аналог процедуры из firebird. Как я понял, в postgres нет процедур, есть функции.
Я начал делать функцию и уже запутался
Вот тело :
CREATE FUNCTION GET_RACE_COUNT(OID integer, PID integer, STIME timestamp, ETIME timestamp, RID integer) RETURNS text AS $BODY$ DECLARE K integer; Prev_Station integer; Time timestamp without timezone; Station integer; delta integer; SQLTEXT text; BEGIN FOR SELECT "Busdata"."Time", "Busdata"."Station" FROM "Busdata" WHERE ("Busdata"."Obj_ID" = OID) AND ("Busdata"."Proj_ID" = PID) AND ("Busdata"."Time" >= STIME) AND ("Busdata"."Time" <= ETIME) AND ("Busdata"."Route" = RID) ORDER BY "Busdata"."Time" INTO Time, Station DO BEGIN IF (Station > Prev_Station) THEN delta = Station - Prev_Station; ELSE delta = 0; K = K + delta; Prev_Station = Station; END SELECT COUNT(*) FROM "BusStation" WHERE "BusStation"."Route" = RID; RETURN "OK"; END $BODY$
Этот раздел смотрели? Там
Этот раздел смотрели?
Там куча примеров по ходу повествования
http://postgresql.ru.net/manual/plpgsql.html