Estou iniciando em PL/SQL e preciso criar a seguinte Package e não sei direito a estrutura e como poderia fazer. alguém poderia ajudar?
Crie uma package chamada COMISSAO que valida o valor da comissão de um
empregado. A package deve conter uma variável global do mesmo tipo da
coluna comissao da tabela EMP, um procedimento (INICIALIZA_COMISSAO) e
uma função (VALIDA_COMISSAO).
A função VALIDA_COMISSAO receberá por parâmetro um valor de comissão.
Essa função deverá buscar o valor máximo da comissão entre os empregados
existentes e caso o valor do parâmetro seja maior que o máximo retornar FALSE,
senão retornar TRUE.
O procedimento INICIALIZA_COMISSAO deve testar: se a comissão for válida
(função VALIDA_COMISSAO retornar TRUE), atribui o seu valor à variável global
definida, senão emite um erro de valor inválido.
EMP
EMP_ID NUMBER(8) NOT NULL
NOME VARCHAR2(60) NOT NULL
COMISSAO NUMBER(3,2) NULL
Tenho feito isso...
CREATE OR REPLACE
PACKAGE PKG_COMISSAO
AS
Valor EMP.Comissao%TYPE;
FUNCTION VALIDA_COMISSAO (Vl_Comissao IN NUMBER) RETURN BOOLEAN;
PROCEDURE INICIALIZA_COMISSAO;
END PKG_COMISSAO;
CREATE OR REPLACE
PACKAGE BODY PKG_COMISSAO
AS
FUNCTION VALIDA_COMISSAO (Vl_Comissao IN NUMBER)
RETURN BOOLEAN
IS
BEGIN
vValor EMP.Comissao%TYPE;
BEGIN
SELECT SUM(Comissao)
INTO vValor
FROM EMP
END;
IF Vl_Comissao > vValor THEN
RETURN(FALSE);
ELSE
RETURN(TRUE);
END IF;
END;
PROCEDURE INICIALIZA_COMISSAO
BEGIN
...
END;
END PKG_COMISSAO;