[oracle_br] Re: Distinct campo long

2007-01-29 Por tôpico Marcos Giovani Lagassi
Obrigado pelas dicas, vou migrar
[ ]s

--- Em oracle_br@yahoogrupos.com.br, jlchiappa [EMAIL PROTECTED] 
escreveu

 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
 mlagassi@ 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)
 





[oracle_br] Re: Distinct campo long

2007-01-28 Por tôpico jlchiappa
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)