É absurda a quantidade de erros nas transcrições do código deste curso. Só faz confundir quem está aprendendo. Esse código inteiro está errado e eu só fui descobrir porque consultei a IA. Prestem mais atenção nisso.
Depois, mudamos de DECLARE vDias INTEGER DEFALT 0; para DECLARE vDataFinal DATE 0;.
Copiar
-- Código omitido
DECLARE vDataFinal DATE 0;
-- Código omitido
O que fizemos foi trocar o parâmetro vDataFinal para variável e o vDias, que era variável e virou parâmetro.
Buscaremos onde calculamos vDias, porque agora é o inverso. Não vamos mais calcular vDias, porque é fornecida para o procedimento. O que calcularemos é a data final.
Na linha SET vDias, adicionamos um comentário incluindo -- no início da linha. Na linha abaixo, calcularemos a data final então passamos SET vDataFinal = SELECT vDataInicio + INTERNAL vDias DAY.
COrreto:
DECLARE vDataFinal DATE;
SET vDataFinal = (SELECT vDataInicio + INTERVAL vDias DAY);