Функции Postgresql

Добрый день
Недавно начал пользоваться 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$

Ошибка насчет возвращаемого значения. Хотя при создании функции в окне возвращаемого значения я выбрал charachter varying.
Помогите сделать валидную функцию, она вроде не сложная.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Этот раздел смотрели? Там

Этот раздел смотрели?
Там куча примеров по ходу повествования
http://postgresql.ru.net/manual/plpgsql.html

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023