IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

VARCHAR2 to LONG


Sujet :

SQL Oracle

  1. #1
    Membre habitué Avatar de islyoung2
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41

    Informations forums :
    Inscription : Juin 2008
    Messages : 236
    Points : 177
    Points
    177
    Par défaut VARCHAR2 to LONG
    Bonjour,

    J'ai une table dans une base de données Oracle 10g, je veux changer le type d'une colonne de cette table du type varchar2(4000) à long, seulement puisque cette table n'est pas vide je reçois cette erreur lors de l'exécution de la requête suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ALTER TABLE NOM_TABLE MODIFY NOM_CHAMP LONG;
    ORA-01439: une colonne doit être vide pour pouvoir modifier son type de données

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Vous avez oublié de poser une question.

  3. #3
    Membre habitué Avatar de islyoung2
    Homme Profil pro
    Inscrit en
    Juin 2008
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41

    Informations forums :
    Inscription : Juin 2008
    Messages : 236
    Points : 177
    Points
    177
    Par défaut
    OUPS dsl :p oui ma question est : es qu'il y a un moyen de forcer le changement du type du champ de varchar2 au long même si celui la contient des données??

  4. #4
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 453
    Points : 18 388
    Points
    18 388
    Par défaut
    Vous pouvez renommer votre table, en créer une nouvelle et y insérer les LONG.
    Deux remarques toutefois :
    1. Le type LONG est un type obsolète, supporté par Oracle à cause de la rétrocompatibilité, mais maintenant il vaut mieux utiliser un LOB (un CLOB dans votre cas).
    2. Pesez bien le pour et le contre, car la gestion des LONG / LOB ne se fait pas en SQL standard, mais quasi exclusivement en PL/SQL.

  5. #5
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 306
    Points
    5 306
    Par défaut
    précisons que les LONG sont bien sur manipulable en SQL mais chiant pour les clause where... mais avec certaines limitations de taille...


    Citation Envoyé par Waldar Voir le message
    Vous pouvez renommer votre table, en créer une nouvelle et y insérer les LONG.
    Deux remarques toutefois :
    1. Le type LONG est un type obsolète, supporté par Oracle à cause de la rétrocompatibilité, mais maintenant il vaut mieux utiliser un LOB (un CLOB dans votre cas).
    2. Pesez bien le pour et le contre, car la gestion des LONG / LOB ne se fait pas en SQL standard, mais quasi exclusivement en PL/SQL.

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/11/2009, 13h14
  2. Arrêter un prog si temps de connexion trop long
    Par jakouz dans le forum Langage
    Réponses: 4
    Dernier message: 22/10/2002, 18h28
  3. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2002, 13h34
  4. String -> long double (_strlold ?)
    Par haypo dans le forum C
    Réponses: 7
    Dernier message: 25/07/2002, 20h22
  5. Réponses: 2
    Dernier message: 05/06/2002, 12h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo