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>

 

oracle_max_tb_funcionario

Exemplo de uso da função max para obter o maior número de chapa.

max

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>

 

max_salario

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>

 

max-maior-salario Situação onde é necessário demonstrar o valor de salário atual e o salário anterior.

valor-salario-anteior

 

 

Fazendo o select para o usuário do banco: fabiano

1
SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE LIKE 'FABIANO'

Será retornado os privilégios e permissões para as ações, veja a seguir.

Create Table/Criar tabela = Não

Unlimited tablespace = Não

Create Trigger = Não

Create View = Não

Create Materialized View  = Não

Create Synonym = Não

permissao_oracle_DBA_SYS_PRIVSOu Seja o usuário ainda não possui as permissões atribuídas.

Na coluna GRANTEE é o usuário com a permissão concedida, e o PRIVILEGE o privilégio que o usuário tem no acesso ao objeto identificado.

SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘FABIANO’

SELECT GRANTEE, GRANTED_ROLE, ADMIN_OPTION, DEFAULT_ROLE FROM DBA_ROLE_PRIVS WHERE GRANTEE LIKE ‘FABIANO’

permissao_oracle_DBA_ROLE_PRIVS