Senhores,

tenho esta função:

CREATE OR REPLACE FUNCTION cadastro.cidade_validar_campos()
 RETURNS "trigger" AS
$BODY$DECLARE
 resultado INT2;
BEGIN

 -- INSERT E UPDATE

IF (TG_OP='INSERT') OR (TG_OP='UPDATE') THEN

       IF (CHAR_LENGTH(TRIM(NEW.nm_cidade))=0) OR (NEW.nm_cidade IS NULL) THEN
               RAISE EXCEPTION 'Nome da Cidade não poderá ser nulo.';
       END IF;

       IF (CHAR_LENGTH(TRIM(NEW.cd_cidade))=0) OR (NEW.cd_cidade IS NULL) THEN
               RAISE EXCEPTION 'Código da Cidade não poderá ser nulo.';
       END IF;


END IF;

-----------------------------------------------

-- INSERT

IF (TG_OP='INSERT') THEN

       -- VALIDAR O NOME DA CIDADE
       SELECT COUNT(*) INTO resultado FROM cadastro.cidade WHERE
nm_cidade=NEW.nm_cidade;

       IF (resultado>0) THEN
               RAISE EXCEPTION 'Nome da Cidade já existe no sistema.';
       END IF;

END IF;

-----------------------------------------------

-- UPDATE

IF (TG_OP='UPDATE') THEN

       -- VALIDAR O NOME DA CIDADE
       SELECT nm_cidade FROM cadastro.cidade WHERE nm_cidade=NEW.nm_cidade
               AND cd_cidade<>NEW.cd_cidade;

       IF FOUND THEN
               RAISE EXCEPTION 'Nome da Cidade já existe no sistema';
       END IF;

END IF;

-----------------------------------------------

-- PREENCHIMENTO DOS CAMPOS

NEW.fl_status :='S';
NEW.dt_ult_atualizacao := CURRENT_TIMESTAMP;
NEW.dt_inclusao := CURRENT_TIMESTAMP;

-----------------------------------------------


RETURN NULL;

END;$BODY$
 LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION cadastro.cidade_validar_campos() OWNER TO sisgene;



Porém não consigo salvar os dados na tabela..
Onde poderia estar o erro??


Obrigado a todos.


--
Marcelo Moacir Florindo
Analista/Desenvolvedor
http://www.gestaotec.com.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a