Daniel, boa tarde.
O código que você mostrou define apenas a especificação de um package PL/SQL chamado PRODUTO_EXERCICIO_PAC.
Isso declara as funções e procedimentos, mas não implementa o que eles fazem.
Por isso quando você insere apenas essa parte no Oracle SQL Developer, ele não cria as funções, porque ainda falta o corpo do pacote (PACKAGE BODY), onde a lógica real de cada função/procedimento é escrita.
CREATE OR REPLACE PACKAGE BODY PRODUTO_EXERCICIO_PAC IS
FUNCTION RETORNA_IMPOSTO (p_COD_PRODUTO produto_venda_exercicio.cod_produto%type)
RETURN produto_venda_exercicio.percentual_imposto%type IS
v_imposto produto_venda_exercicio.percentual_imposto%type;
BEGIN
SELECT percentual_imposto INTO v_imposto
FROM produto_venda_exercicio
WHERE cod_produto = p_COD_PRODUTO;
RETURN v_imposto;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN NULL;
END;
FUNCTION RETORNA_CATEGORIA (p_COD IN produto_exercicio.cod%type)
RETURN produto_exercicio.categoria%type IS
v_categoria produto_exercicio.categoria%type;
BEGIN
SELECT categoria INTO v_categoria
FROM produto_exercicio
WHERE cod = p_COD;
RETURN v_categoria;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RETURN NULL;
END;
PROCEDURE INCLUINDO_PRODUTO (
p_COD produto_exercicio.cod%type,
p_DESCRICAO produto_exercicio.descricao%type,
p_CATEGORIA produto_exercicio.categoria%type
) IS
BEGIN
INSERT INTO produto_exercicio (cod, descricao, categoria)
VALUES (p_COD, p_DESCRICAO, p_CATEGORIA);
END;
PROCEDURE INCLUINDO_DADOS_VENDA (
p_ID produto_venda_exercicio.id%type,
p_COD_PRODUTO produto_venda_exercicio.cod_produto%type,
p_DATA produto_venda_exercicio.data%type,
p_QUANTIDADE produto_venda_exercicio.quantidade%type,
p_PRECO produto_venda_exercicio.preco%type
) IS
BEGIN
INSERT INTO produto_venda_exercicio (id, cod_produto, data, quantidade, preco)
VALUES (p_ID, p_COD_PRODUTO, p_DATA, p_QUANTIDADE, p_PRECO);
END;
END;