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