Oracle PL/SQL MAX Function
Exemplo prático;
Criando a tabela de funcionário.
<pre lang="sql" escaped="true">
create table FUNCIONARIO
(
NM_FUNCIONARIO VARCHAR2(150),
NR_CHAPA NUMBER,
DT_CONTRATACAO DATE
)
</pre>
Exemplo de uso da função max para obter o maior número de chapa.
Tabela onde está os valores salários e competências
<pre lang=’sql’ line=’1′>
create table BENTO.FUNC_SALARIO
(
DT_COMPETENCIA DATE,
DT_INICIO_VIGENCIA DATE,
DT_FIM_VIGENCIA DATE,
NR_CHAPA NUMBER,
VL_SALARIO NUMBER(15,2)
)
</pre>
Imaginando uma situação onde é necessário demonstrar o salário em vigência atual.
<pre lang=’sql’ line=’1′>
select
a.NM_FUNCIONARIO
, a.nr_chapa
, b.VL_SALARIO
from
bento.funcionario a
, bento.func_salario b
where a.nr_chapa = b.NR_CHAPA
and b.dt_competencia = ( select max(c.DT_COMPETENCIA)
from bento.func_salario c
where c.NR_CHAPA = b.nr_chapa
)
</pre>
Situação onde é necessário demonstrar o valor de salário atual e o salário anterior.