Mais pq utiliser le type Long avec Oracle. Long n'est pas un type numeric
en fait c'est un genre de blob.
J'ai fait aussi l'erreur en te repondant.

Regarde ceci tu comprendras
http://www.experts-exchange.com/Databases/Q_20340850.html
Ta table FORMULAIRE par example contient un champ COMPTEUR qui est un blob
de plus de 2Gb.

>PS : apparemment, on ne peut convertir que des dates en char avec TO_CHAR,
>et pas un LONG...

Non des champs numeric aussi. NUMBER, INTEGER, etc ... LONG n'est pas un
champ numerique c'est un genre de blob.
Pour les blobs(cblob) il existe des fonctions dans le package DBMS_LOB.

Dominique



|---------+----------------------------->
|         |           "Vincent Bossuet" |
|         |           <[EMAIL PROTECTED]|
|         |           aposte.net>       |
|         |                             |
|         |           23/07/2003 15:15  |
|         |           Please respond to |
|         |           java              |
|         |                             |
|---------+----------------------------->
  
>-------------------------------------------------------------------------------------------------------------------------------|
  |                                                                                    
                                          |
  |       To:       <[EMAIL PROTECTED]>                                                
                                          |
  |       cc:       (bcc: Dominique Gallot/BRU/MASTERCARD)                             
                                          |
  |       Subject:  R�f. : Re: requete SQL                                             
                                          |
  
>-------------------------------------------------------------------------------------------------------------------------------|




OK, d�sol�, je pensais que mon probl�me �tait d� juste � une erreur de
syntaxe SQL, et donc "g�n�rique" � n'importe quelle base...

J'ai entre-temps trouv� un �l�ment de r�ponse sur :
http://www.phpbuilder.com/mail/phplib-list/2001042/0039.php
(gr�ce � M'sieur Google, en cherchant sur le message d'erreur que j'avais :

ORA-00997: illegal use of LONG datatype")

En r�sum�, le type LONG ne peut pas s'utiliser partout, notamment pas dans
les ORDER BY, c'est r�f�renc� dans la doc Oracle...

Pour info, j'utilise Oracle 8.1.7, voici le script de ma table :
CREATE TABLE FORMULAIRE (USER VARCHAR2 (64),IDFORM VARCHAR2 (4),COMPTEUR
LONG,DATE_MAJ DATE)
et ma requ�te SQL :
select IDFORM from FORMULAIRE where USER='titi' order by COMPTEUR desc

J'ai donc d� remplacer le type de la colonne par INTEGER au lieu de LONG,
et
l� �a fonctionne...

Vincent

PS : apparemment, on ne peut convertir que des dates en char avec TO_CHAR,
et pas un LONG...
(je me r�f�re � http://www.info.univ-angers
fr/pub/fm/Ora_htm/fonctionshtm#_1)
mais de toutes fa�ons t'as raison, �a n'aurait pas r�solu pas mon probl�me
!-)


-----------------------------------------------------------------------------

--------------------------------

Sous oracle ca marche.
Mais as-tu Oracle ? Si ta question �tait plus pr�cise, ta reponse le serai
aussi !
>convertit le long en varcha
C'est une mauvaise id�en sous oracle c'est TO_CHAR()
Pq
Voici une liste tri� avec des long
1
2
....
9
10
11
12
....
20
21

La voici avec des strings
1
10
2
20
21
3

Ce n'est surement pas ce que tu veux

Dominique

-----------------------------------------------------------------------------

--------------------------------

Salut la liste,

Je n'arrive pas � ex�cuter une requete SQL avec un order by sur une colonne
de type long. C'est normal ???
Quelle solution (� part changer la colonne en varchar2...) ?
Existe-t-il une fonction SQL qui convertit le long en varchar ?

Vincent

PS : d�sol� pour le hors-sujet, mais promis c'est du java qui ex�cute la
requete SQL...






**********************************************************************
This email and any files transmitted with it are confidential and
intended solely for the use of the individual or entity to whom they
are addressed. If you have received this email in error please notify
the system manager.

This footnote also confirms that this email message has been swept by
MIMEsweeper for the presence of computer viruses.

www.mimesweeper.com
**********************************************************************

Répondre à