Hola quisiera saber si PostgreSQL 8.4.1 presenta la función nullvalue(bigint) porque la tengo implementada en un trigger que tenia en Postgresql 8.3.7 y no daba error pero migre para 8.4.1 y me esta dando un error en la función trigger la cual es la siguiente:

CREATE FUNCTION ft_insertar_nodo_especialidad() RETURNS trigger
   AS $$
DECLARE
       derecha bigint;
BEGIN
   SET search_path = mod_nomencladores;
   IF NEW.idespecialidad != NEW.idpadre THEN
derecha := ordender FROM mod_nomencladores.nom_especialidad WHERE idespecialidad = NEW.idpadre; UPDATE mod_nomencladores.nom_especialidad SET ordender = ordender + 2 WHERE ordender >= derecha; UPDATE mod_nomencladores.nom_especialidad SET ordenizq = ordenizq + 2 WHERE ordenizq > derecha;
      NEW.ordenizq := derecha;
      NEW.ordender := derecha + 1;
   ELSE
derecha := MAX(ordender) FROM mod_nomencladores.nom_especialidad WHERE idespecialidad = idpadre;
       IF NOT nullvalue(derecha) THEN
          NEW.ordenizq := derecha + 1;
          NEW.ordender := derecha + 2;
       ELSE
           NEW.ordenizq := 1;
           NEW.ordender := 2;
       END IF;
   END IF;
   RETURN NEW;
END;
$$
   LANGUAGE plpgsql;

Y el error es: ERROR: function nullvalue(bigint) does not exist
Estado SQL:42883
Sugerencias:No function matches the given name and argument types. You might need to add explicit type casts.
Contexto:PL/pgSQL function "ft_insertar_nodo_especialidad" line 13 at IF

Gracias




--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a