Olá,
Tentei replicar o conteúdo da aula da seguinte forma.
CREATE TABLE BR_2017 (CLASSIFICACAO NUMBER, EQUIPES VARCHAR2(50),
PONTOS NUMBER, VITORIAS NUMBER, EMPATES NUMBER, DERROTAS NUMBER,
GOLS_FEITOS NUMBER, GOLS_SOFRIDOS NUMBER, SALDO_DE_GOLS NUMBER,
RESULTADOS_FINAIS VARCHAR2(50));
CREATE OR REPLACE FUNCTION saldo_de_gols
(p_GOLS_FEITOS IN BR_2017.GOLS_FEITOS%TYPE, p_GOLS_SOFRIDOS IN
BR_2017.GOLS_SOFRIDOS%TYPE)
RETURN BR_2017.SALDO_DE_GOLS%TYPE
IS
v_SALDO_DE_GOLS BR_2017.SALDO_DE_GOLS%TYPE;
BEGIN
SELECT GOLS_FEITOS - GOLS_SOFRIDOS INTO v_SALDO_DE_GOLS FROM BR_2017;
RETURN v_SALDO_DE_GOLS;
END;
CREATE OR REPLACE FUNCTION resultados_finais
(p_CLASSIFICACAO BR_2017.CLASSIFICACAO%TYPE)
RETURN BR_2017.RESULTADOS_FINAIS%TYPE
IS
v_RESULTADOS_FINAIS BR_2017.RESULTADOS_FINAIS%TYPE;
BEGIN
IF p_CLASSIFICACAO = 1 THEN
v_RESULTADOS_FINAIS := 'CAMPEÃO BRASILEIRO DE 2017';
ELSIF p_CLASSIFICACAO BETWEEN 2 AND 5 THEN
v_RESULTADOS_FINAIS := 'CLASSIFICADO PARA LIBERTADORES 2018';
ELSIF p_CLASSIFICACAO BETWEEN 6 AND 9 THEN
v_RESULTADOS_FINAIS := 'CLASSIFICADO PARA SULAMERICANA 2018';
ELSIF p_CLASSIFICACAO BETWEEN 10 AND 16 THEN
v_RESULTADOS_FINAIS := 'PERMANÊNCIA NA SÉRIE A';
ELSE
v_RESULTADOS_FINAIS := 'REBAIXADO PARA SÉRIE B';
END IF;
END;
CREATE OR REPLACE PROCEDURE inserir_equipe
(p_CLASSIFICACAO IN BR_2017.CLASSIFICACAO%TYPE,
p_EQUIPES IN BR_2017.EQUIPES%TYPE, p_PONTOS IN BR_2017.PONTOS%TYPE,
p_VITORIAS IN BR_2017.VITORIAS%TYPE, p_EMPATES IN BR_2017.EMPATES%TYPE,
p_DERROTAS IN BR_2017.DERROTAS%TYPE,
p_GOLS_FEITOS IN BR_2017.GOLS_FEITOS%TYPE,
p_GOLS_SOFRIDOS IN BR_2017.GOLS_SOFRIDOS%TYPE)
IS
v_SALDO_DE_GOLS BR_2017.SALDO_DE_GOLS%TYPE;
v_RESULTADOS_FINAIS BR_2017.RESULTADOS_FINAIS%TYPE;
BEGIN
v_SALDO_DE_GOLS := SALDO_DE_GOLS(p_GOLS_FEITOS, p_GOLS_SOFRIDOS);
v_RESULTADOS_FINAIS := RESULTADOS_FINAIS(p_CLASSIFICACAO);
INSERT INTO BR_2017 (CLASSIFICACAO, EQUIPES, PONTOS, VITORIAS, EMPATES,
DERROTAS, GOLS_FEITOS, GOLS_SOFRIDOS, SALDO_DE_GOLS, RESULTADOS_FINAIS)
VALUES (p_CLASSIFICACAO, p_EQUIPES, p_PONTOS, p_VITORIAS, p_EMPATES,
p_DERROTAS, p_GOLS_FEITOS, p_GOLS_SOFRIDOS, v_SALDO_DE_GOLS,
v_RESULTADOS_FINAIS);
COMMIT;
END;
EXECUTE inserir_equipe (1, 'CORINTHIANS', 72, 21, 9, 8, 50, 30);
No entanto recebi o erro ORA-01403: dados não encontrados. Depois de muita pesquisa ainda não consegui identificar porquê não consigo inserir os dados na minha tabela. Poderiam me esclarecer essa dúvida, por favor?