Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda em validação de erros.


Maurílio Martins

Pergunta

gostaria de saber como funciona e como inserir a função @@ERROR no script abaixo:

DELIMITER $
DROP PROCEDURE CRIAR_CONSULTA$
CREATE PROCEDURE CRIAR_CONSULTA(IDPAC INT, IDMED INT, IDHOS INT)
BEGIN
start transaction;
    if (IDPAC > 0 AND IDMED > 0 AND IDHOS > 0) THEN
        INSERT INTO CONSULTA (IDCONSULTA, ID_PACIENTE, ID_MEDICO, ID_HOSPITAL, DATA) 
        VALUES(NULL, IDPAC, IDMED, IDHOS, CURTIME());
        SELECT(' DADOS INSERIDOS COM SUCESSO ') AS 'MENSAGEM';
        commit;  
    ELSE SELECT ('INSIRA OS DADOS CORRETAMENTE') AS 'MENSAGEM DE ERRO';
        ROLLBACK;
    END IF;
END$
DELIMITER ;

 

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Tente assim:

DELIMITER $
DROP PROCEDURE CRIAR_CONSULTA$
CREATE PROCEDURE CRIAR_CONSULTA(IN IDPAC INT, IN IDMED INT, IN IDHOS INT)
BEGIN
DECLARE msg VARCHAR(200) DEFAULT '';
DECLARE excecao SMALLINT DEFAULT 0;
DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET excecao = 1;
    start transaction;
    if (IDPAC > 0 AND IDMED > 0 AND IDHOS > 0) THEN
        INSERT INTO CONSULTA (IDCONSULTA, ID_PACIENTE, ID_MEDICO, ID_HOSPITAL, DATA) 
        VALUES(NULL, IDPAC, IDMED, IDHOS, CURTIME());
        IF excecao = 1 THEN
            SET msg = "Erro ao inserir na tabela usuario" AS Msg;
            ROLLBACK;
        END IF;  
    ELSE SET excecao =1;
         SET msg = 'INSIRA OS DADOS CORRETAMENTE';
        ROLLBACK;
    END IF;
    IF excecao = 0 THEN
       SET msg = 'DADOS INSERIDOS COM SUCESSO';
       COMMIT;
    END IF;
    SELECT msg AS mensagem;
END$
DELIMITER ;

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...