[Dica] Order by em campo não base-table

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP


Pessoal, boa tarde.


Seguem passos para se ordenar um campo do bloco, que não seja base-table.

Por exemplo, tenho um bloco denominado EMP (baseado na tabela EMP, do usuário SCOTT), que contém os seguintes itens:

- TXT_ID (que recebe o campo EMPNO, da tabela EMP);
- TXT_NOME (não base table, que irá exibir o nome do funcionário);

Para popular o bloco, no post-query, utilizo a seguinte função (passando o TXT_ID), para que traga as informações na tela:

Selecionar tudo

CREATE OR REPLACE FUNCTION FUN_BUSCA_EMPREGADO (P_ID IN NUMBER)
	RETURN VARCHAR2
	IS
	  V_RETORNO EMP.ename%TYPE; 
	BEGIN
	  SELECT ENAME
	    INTO V_RETORNO
	    FROM EMP
	   WHERE EMPNO = P_ID;
	   RETURN V_RETORNO;
	EXCEPTION    
	WHEN NO_DATA_FOUND 
	THEN 
	  V_RETORNO := 'Não cadastrado';   
	  RETURN V_RETORNO;
	END FUN_BUSCA_EMPREGADO;

No ORDER BY Clause, do bloco EMP, coloquei a seguinte informção:

Selecionar tudo

FUN_BUSCA_EMPREGADO(EMPNO)
Ou seja, ordenando pela função, passando como parâmetro para ela, o campo da tabela EMP (EMPNO).

Fica aí a dica.
rodfbar
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 241
Registrado em: Ter, 09 Out 2007 11:15 am
Localização: Batatais - SP

legal...

eu sempre q tenho uma situacao destas eu faço um bloco baseado em query....

essa situacao para grids facilita muito no caso de criar pop-ups para ordenação....


mais vlw pela dica... dependendo da situacao é bem melhor criar dessa forma para facilitar o controle....
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 13 visitantes