Galera estou fazendo um IF para validar se um campo esta nulo ou não e me retornar uma mensagem.
Quando o campo esta nulo exibe a mensagem normalmente, porem se preencho todos os campos e clico em gravar a informação da um erro de (o gatilho WHEN-BUTTON-PRESSED levantou a exceção ORA-03114 não manipulada)
Esse é meu código:
DECLARE
CRACHA VARCHAR2(100) := :BLOCO3.NUMERO_CRACHA;
NOME VARCHAR2(150) := :BLOCO3.NOME;
ALERT NUMBER;
BEGIN
if :BLOCO3.NUMERO_CRACHA IS NULL THEN
SET_ALERT_PROPERTY('alerta_usuario',alert_message_text,'O Cracha deve ser preenchido!');
ALERT := SHOW_ALERT('ALERTA_usuario');
ELSE
Insert into dbasgu.usuarios(CD_USUARIO,NM_USUARIO,DS_OBSERVACAO,RAMAL,TP_PRIVILEGIO,NR_ID_USUARIO,CD_SENHA,CD_PAPEL,TP_STATUS,CD_PRESTADOR,USER_ID_ORA_APP,SN_ATIVO,SN_SENHA_PLOGIN,SN_ABRE_FECHA_CONTA,CPF
,SN_RECEBE_MSG_EXPIRA_CHAVE,SN_ALTERA_AUDITORIA_IN_LOCO,SN_CADASTRA_PACIENTE,SN_ALTERA_CADASTRO_PACIENTE,DT_NASCIMENTO,CD_MATRICULA,DS_EMAIL,CD_IDIOMA)
values (CRACHA,NOME,null,null,'U',null,'3579>A?ADMNLKMOQVYWY\efd~?????','195','R',null,null,'S','S','S',null,'N','N','S','S',null,null,null,'pt-br');
DO_KEY('COMMIT_FORM');
SET_ALERT_PROPERTY('alerta_confirma',alert_message_text,'O cracha: '|| :BLOCO3.NUMERO_CRACHA ||' - ' ||:BLOCO3.NOME||' foi cadastrado com sucesso!!!');
ALERT := SHOW_ALERT('ALERTA_CONFIRMA');
go_block('bloco3');
clear_block;
END IF; --FIM DO IF DE VALIDAÇÃO CRACHA
END;