[oracle_br] Re: order by no base table

2006-10-03 Por tôpico Marcos Giovani Lagassi
ok, amigo e qual seria esse id, seria o nome do item, pois, vou 
tentar expor o problema.
isso sera um exemplo.
tabela x com os atributos: codigo, valores
criei um forms base table da tabela x e no post-query fiz um select 
que traz a descrição desse código, pois bem, ai vem o meu problema 
quero um order by pela descrição.
Amigos, eu sei que por esse exemplo basta eu criar uma view que me 
atenderá, mas esse é apenas um exemplo para exemplificar o meu 
problema. Pois a aplicação que esta rodando para eu altera-la da 
forma que muitos amigos já me enviaram como dica é de grande 
trabalho a minha alteração, gostaria de saber se alguem tem alguma 
função.
Eu até fiz uma função de banco, mas quando eu informo na minha 
função por exemplo odenar(item-que não é da tabela) da erro.

Sistema Operacional XP
Oracle 8i
forms 6i

--- Em oracle_br@yahoogrupos.com.br, "Zilmar - ig" <[EMAIL PROTECTED]> 
escreveu
>
> Colega,
> 
> Você pode criar uma função no banco que, passado o id do registro 
como parâmetro, retorne a descrição desejada.
> Então você coloca essa função no order by do bloco e pronto ... 
> 
> Abs
>   - Original Message - 
>   From: Marcos Giovani Lagassi 
>   To: oracle_br@yahoogrupos.com.br 
>   Sent: Tuesday, October 03, 2006 2:44 PM
>   Subject: [oracle_br] order by no base table
> 
> 
>   Pessoal, tenho um forms (base table) que traz informações de uma 
>   tabela, e o usuário quer que se faça um order by por um item do 
bloco 
>   que não é base table.
>   Alguem tem uma solução para esse problema, já pesquisei em 
vários 
>   lugares mas não encontrei.
>   [ ]s
> 
> 
> 
> 
>
> 
> [As partes desta mensagem que não continham texto foram removidas]
>







--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





[oracle_br] Re: order by no base table

2006-10-03 Por tôpico jlchiappa
Colega, seguinte : rotinas de ordenação eficientes e próprias são 
geralmente bem chatas e complexas de se escrever, é muito melhor 
deixar o prpoprio banco fazer a ordenação se possível, ie, se a 
tal "info não-base table" pode ser calculada/encontrada pelo banco 
(afora o fato que o servidor de banco normalmente tem um hardware 
MUUUITO mais poderoso à disposição do que o coitado do pc cliente 
onde o Forms roda, pensando em client/server).
 Muito bem, com isso em mente : o que o Forms faz é montar um SQL que 
será enviado pro banco consultando o nome da base-table, o nome dos 
campos base-table, etc, a propriedade ORDER BY simplesmente indica 
uma string que será APENDADA ao SQL gerado, confere ? Sendo assim, 
uma possibilidade é vc escrever no banco (atenção, ** não no Forms, 
mas NO BANCO, que é onde os SQLs rodam!!) uma função X que retorna o 
valor desejado. Por exemplo, se o tal campo não-base  é , digamos, 
uma descrição que é encontrada numa tabela de lookup, a função de 
banco seria algo tipo :
 
 FUNCTION BUSCA_DESCR(P_CODIGO number) is
   v_descr varchar2(nnn);
 BEGIN
select descriçãoabuscar into v_descr from tabeladelookup where 
codigo=P_CODIGO;
return v_descr;
END;

e daí a propriedade ORDER BY será BUSCA_DESCR
(:nomedobloco.nomedoitemdecódigo);

ok ? Outras possibilidades existem (como tabela GTT populada por 
trigger pre-query ou coisa do tipo, ou ter-se uma VIEW que já traz o 
tal valor não-base table preenchido e fazer o Forms se basear nessa 
view, e algumas variações dos temas acima citados, estuda aí qual se 
encaixa no que vc quer, em caso de dificuldades manda aí pra lista 
uma msg com : VERSÃO do Forms no caso, ambiente - se C/S ou Web -, um 
scriptzinho com versões MÍNIMAS das tabelas envolvidas, diz que 
lógica está nesse campo não-base table, de onde ele vem e é formado, 
que a gente pode tentar te ajudar + ...

[]s

 Chiappa
 
--- Em oracle_br@yahoogrupos.com.br, "Marcos Giovani Lagassi" 
<[EMAIL PROTECTED]> escreveu
>
> Pessoal, tenho um forms (base table) que traz informações de uma 
> tabela, e o usuário quer que se faça um order by por um item do 
bloco 
> que não é base table.
> Alguem tem uma solução para esse problema, já pesquisei em vários 
> lugares mas não encontrei.
> [ ]s
>






--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

OPORTUNIDADES DE TRABALHO, VAGAS, EMPREGOS PARA PROFISSIONAIS ORACLE VISITE: 
http://www.oraclebr.com.br/
__
Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine  
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html