[Pgsql-ayuda] ¿Que me esta diciendo este mensaje de error?

Angel Vicente Perez angel.vicente@knipping.es
Fri, 4 Apr 2003 15:51:49 +0200


Hola tengo una funcion que cuando ejecuta me devuelve un mensaje de error,
del que he estado buscando referencias, y no he encontrado nada.
La funcion es :
DECLARE 
      Periodov INTEGER;
      Familiav CHAR(2);
      NewFecha DATE;
      NewIntervalo interval;
      Cadena varchar(10);
BEGIN
      SELECT "Familia" INTO Familiav FROM "Instrumentos" WHERE "Codigo" =
$1;
       SELECT * INTO Periodov FROM "GetPeriodoCal"(Familiav);
       INSERT INTO "ResultadosH" ("Codigo", "Fecha", "Verificado",
"Resultado", "Desviacion", "Observaciones") VALUES ($1, $2, $3, $4, $5, $6);
        Cadena := to_char(Periodov,''999'');
        NewIntervalo := Cadena || ''months'';
        NewFecha := $2 + NewIntervalo;
        UPDATE "Instrumentos" SET "UltCalibracion" = $2, "ProxCalibracion" =
NewFecha;
         COMMIT;
        RETURN 1;
END

El lenguaje es plpgsql, y el mensaje de error es
ERROR: SPI_prepare() failed on "COMMIT". Evidentemente hay algo mal hecho.
Si quito el COMMIT, no tengo mensaje de error pero tampoco tengo escrituras.
Pareciera que no quiere o no puede hacer COMMIT, pero tampoco se porque.