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

Duvida Sobre banco de Dados (COALESCE)


erickzinho

Pergunta

Ola, sou novo na area de programação, estou fazendo faculdade pois gosto de estudar em casa para sempre estar um paço a frente, pois tenho duvidas

sou novo aqui, e gostaria de saber para oque serve certamente e como Funciona, com algum Exemplo, a seguinte Formula é assim

CREATE PROCEDURE alunos.p_insere_da_matriculac(IN p_id_aluno INTEGER)
BEGIN
DECLARE aux INTEGER;
SET aux = (SELECT COALESCE(COUNT(id_aluno),0)
FROM matriculas
WHERE id_aluno = p_id_aluno AND data_da_matricula = CURRENT_DATE);
IF (aux = 0) THEN
INSERT INTO matriculas(id_aluno,data_da_matricula)
VALUES(p_id_aluno,CURRENT_DATE);
END IF;
END;

Gostaria de Intender Certinho o funcionamento do COALESCE e o que siguinifica a Questao do ",0" na mesma linha onde o COALESCE é declarado.

obrigado!

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
...

Gostaria de Intender Certinho o funcionamento do COALESCE e o que siguinifica a Questao do ",0" na mesma linha onde o COALESCE é declarado.

COALESCE é uma função que retorna o primeiro elemento não NULL de uma lista. Assim, de acordo com o exemplo que você passou

SET aux = (SELECT COALESCE(COUNT(id_aluno),0)

Se o COUNT de id_aluno retornar NULL, então o 0 informado na função COALESCE tomará o lugar do NULL.

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,2k
    • Posts
      652k
×
×
  • Criar Novo...