Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Obter o último registro do conjunto de resultados


Existem muitos caminhos:

Oráculo Pre-12c versão:
  • ROWNUM na subconsulta e ORDER BY na consulta externa
  • Analítica função

Oráculo 12c versão:
  • Recurso de limitação de n linhas principais

Usando ROWNUM
SELECT HAZMAT_PLACARD_NOTATION
INTO v_pcn
FROM
  (SELECT HAZMAT_PLACARD_NOTATION,
    ROWNUM rn
  FROM HAZMAT_CLASS_IRF
  WHERE HAZMAT_CD = p_stcc_cd
  ORDER BY        <sort_column> DESC
  )
WHERE rn =1;

Usando o recurso de limitação de n linhas principais
SELECT HAZMAT_PLACARD_NOTATION
 INTO v_pcn
  FROM HAZMAT_CLASS_IRF
  WHERE HAZMAT_CD = p_stcc_cd
  ORDER BY        <sort_column> DESC
FETCH FIRST 1 ROW ONLY;

Dê uma olhada nesta resposta para exemplos e explicações detalhadas.