Novidade NENHUMA aí colega, o cacareco do LONG, entre n outras
restrições documentadas no manual "" também, de acordo com o mesmo
manual :

"LONG columns cannot appear in certain parts of SQL statements:

    * GROUP BY clauses, ORDER BY clauses, or CONNECT BY clauses or
with the DISTINCT operator in SELECT statements."

já que o Forms monta SQLs e é documentado que DISTINCT ** NÂO * é
permitido com SQL, nada a fazer aqui em SQL, sorry... A recomendação
do manual é a MESMA que eu faria, ie,pra ONTEM converter esses
horrorosos LONGs pra LOBs, pois aí vc lima muitas das restrições....
Enquanto isso não ocorre (e ** ESSA ** deveria ser a solução adotada),
vc teria que escrever um programa (numa linguagem que permita conexão
com banco e manipulação de strings, pode ser pro*C, java ou PL/SQL), e
nesse programa fazer o distinct manualmente. Outras opções podem ser
ter tabelas temporárias criadas com LOBs onde vc insere a info vinda
do LONG e aí sim faz distinct ou o que precisar... Ou ainda, escrever
uma fução PL/SQL que faça a manipulação dos dados...
 Mas aviso, NENHUMA dessas soluções de remendo darão performance mais
que assim-assim, o CORRETO é mesmo largar mão do LONG e migrar pros LOBs.

[]s

 Chiappa

--- Em oracle_br@yahoogrupos.com.br, "Marcos Giovani Lagassi"
<[EMAIL PROTECTED]> escreveu
>
> Pessoal, alguem sabe como posso fazer um distinct em um campo long, 
> pois no sql plus retorna a seguinte msg:
> ORA-00997: uso inválido do tipo de dados LONG
> 
> Banco oracle 8i
> forms 6i versão : Forms [32 Bits] Versão 6.0.8.16.1 (Produção)
>


Responder a