1
resposta

Ajuste no código

Encontrei uma diferença no código do material em relação ao que consta no vídeo.

Esse é o do material

USE `insightplaces`;
DROP procedure IF EXISTS `insightplaces`.`novoAluguel_31`;
DELIMITER $$
USE `insightplaces`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `novoAluguel_31`
(vAluguel VARCHAR(10), vClienteNome VARCHAR(150), vHospedagem VARCHAR(10), vDataInicio  DATE, vDataFinal DATE, vPrecoUnitario DECIMAL(10,2))
BEGIN
    DECLARE vCliente VARCHAR; 
    DECLARE vDias INTEGER DEFAULT 0;
    DECLARE VPrecoTotal DECIMAL(10,2);
    DECLARE vMensagem VARCHAR(100);
    DECLARE EXIT HANDLER FOR 1452
    BEGIN
        SET vMensagem = 'Problema de chave estrangeira associado a alguma entidade da base.';
        SELECT vMensagem;
    END;
    SET vDias = (SELECT DATEDIFF (vDataFinal, vDataInicio));
    SET vPrecoTotal = vDias * vPrecoUnitario;
    SELECT cliente_id FROM clientes WHERE nome = vClienteNome;
    INSERT INTO alugueis VALUES (vAluguel, vCliente, vHospedagem, vDataInicio, vDataFinal, vPrecoTotal);
    SET vMensagem = 'Aluguel incluído na base com sucesso.';
    SELECT vMensagem;
END$$
DELIMITER ;

Utilizado no vídeo)

USE `insightplaces`;
DROP procedure IF EXISTS `insightplaces`.`novoAluguel_31`;
DELIMITER $$
USE `insightplaces`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `novoAluguel_31`
(vAluguel VARCHAR(10), vClienteNome VARCHAR(150), vHospedagem VARCHAR(10), vDataInicio  DATE, vDataFinal DATE, vPrecoUnitario DECIMAL(10,2))
BEGIN
    DECLARE vCliente VARCHAR(10);  #Aqui precisei realizar esse pequeno ajuste do ()
    DECLARE vDias INTEGER DEFAULT 0;
    DECLARE VPrecoTotal DECIMAL(10,2);
    DECLARE vMensagem VARCHAR(100);
    DECLARE EXIT HANDLER FOR 1452
    BEGIN
        SET vMensagem = 'Problema de chave estrangeira associado a alguma entidade da base.';
        SELECT vMensagem;
    END;
    SET vDias = (SELECT DATEDIFF (vDataFinal, vDataInicio));
    SET vPrecoTotal = vDias * vPrecoUnitario;
    SELECT cliente_id INTO vCliente FROM clientes WHERE nome = vClienteNome; #Essa linha precisa ser ajustada
    INSERT INTO alugueis VALUES (vAluguel, vCliente, vHospedagem, vDataInicio, 
    vDataFinal, vPrecoTotal);
    SET vMensagem = 'Aluguel incluido na base com sucesso.';
    SELECT vMensagem;
END$$
DELIMITER;
1 resposta

Oii, Carlos! Tudo bem?

Verdade, obrigada por nos trazer essa sugestão de melhoria! O código já está ajustado na transcrição.

Continue se dedicando aos estudos e caso surjam dúvidas ou outras sugestões, você também tem a opção de enviar através da funcionalidade Sugerir alteração na atividade. Para isso, deixo os passos abaixo:

  • Ao visualizar uma atividade, clique nos três pontos abaixo do botão azul "Próxima atividade":

Recorte de captura de tela da atividade 08 - Fórmula de indicadores, da aula 02, do curso "Consultas Multidimensionais: MDX com Pentaho". A parte do enunciado está disponível - Temos, na dimensão Measures, os seguintes indicadores bolinha Vendas bolinha Custos bolinha Quantidade. Queremos calcular, no OLAP, o lucro unitário. Como deve ser a fórmula? -, e no canto superior direito está o botão em azul com letras em branco e um ícone de seta dentro de um círculo: "Próxima atividade". Abaixo dele, há três pontinhos em vertical, circulados por uma marcação vermelha e apontado por uma seta vermelha.

  • Dentre as opções, selecione a opção "Sugerir alteração".

Recorte de captura de tela, ainda na mesma página, após ter clicado na parte dita anteriormente. Há o ícone de uma lâmpada e está escrito "Sugerir alteração".

  • Você poderá escrever brevemente sobre o problema, na aba "Descreva sua sugestão":

Recorte de captura de tela da página após ter clicado em "Sugerir alteração". Na página atual está escrito "Descreva sua sugestão"

Após isso, basta enviar e esperar a aprovação da sua sugestão.

De toda forma, agradeço novamente pelo feedback!

Abraços e bons estudos!