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

PL/SQL Oracle Discussion :

Obtenir la taille max d'une colonne PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Points : 42
    Points
    42
    Par défaut Obtenir la taille max d'une colonne PL/SQL
    Bonjour,

    je souhaiterais obtenir depuis du PL/SQL la taille maximum d'une colonne de type varchar2(tailleMax), de façon à ce que le code PL/SQL s'adapte automatiquement aux modifications de la BDD.

    À la façon d'un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    variable Table1.Attr1%type;
    Je cherche la fonction du langage (si elle existe) qui me permettrait d'écrire un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tailleMax := Table1.Attr1%tailleMax;
    Merci d'avance.
    Syrmonsieur

  2. #2
    Membre actif Avatar de DAB.cz
    Inscrit en
    Octobre 2006
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 221
    Points : 249
    Points
    249
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select data_length into tailleMax
      from user_tab_cols
      where table_name = 'TABLE1' and column_name = 'ATTR1';

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Points : 42
    Points
    42
    Par défaut
    Merci pour ta réponse.

    Donc ça signifie qu'il n'y a rien d'intégré au langage et que je dois faire appel au dictionnaire de données.

    En fait je veux connaître les longueurs des colonnes pour générer des champs texte HTML (avec htp), automatiquement limités en longueur à leur taille dans la BDD.

    Est-ce que vous pensez que ça serait trop couteux de faire une requête au dictionnaire de données pour chaque champ ?

    Au fait, quand j'appelle '%rowtype' ou '%type' en PL/SQL est-ce que ça appelle aussi, en interne, de façon aussi "bourrine" le dictionnaire de données ?

    Merci.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 63
    Points : 68
    Points
    68
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Au fait, quand j'appelle '%rowtype' ou '%type' en PL/SQL est-ce que ça appelle aussi, en interne, de façon aussi "bourrine" le dictionnaire de données ?
     
    Merci.
    Pour info, "toute" requête fait appel au dico de données. Sinon, comment valider les objets utiliser dans la requête ?

  5. #5
    Membre actif Avatar de DAB.cz
    Inscrit en
    Octobre 2006
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 221
    Points : 249
    Points
    249
    Par défaut
    Citation Envoyé par Syrmonsieur Voir le message
    Donc ça signifie qu'il n'y a rien d'intégré au langage et que je dois faire appel au dictionnaire de données.
    rien à ma connaissance

    Citation Envoyé par Syrmonsieur Voir le message
    En fait je veux connaître les longueurs des colonnes pour générer des champs texte HTML (avec htp), automatiquement limités en longueur à leur taille dans la BDD.
    dans ce cas je ferais mon propre "dictionnaire" (la table MYWEBCOLS)

    Citation Envoyé par Syrmonsieur Voir le message
    Est-ce que vous pensez que ça serait trop couteux de faire une requête au dictionnaire de données pour chaque champ ?
    Tu peux faire la demande pour la table entière et cacher les valeurs...

    Citation Envoyé par Syrmonsieur Voir le message
    Au fait, quand j'appelle '%rowtype' ou '%type' en PL/SQL est-ce que ça appelle aussi, en interne, de façon aussi "bourrine" le dictionnaire de données ?
    Traitement de %xxx n'est effectué que pendant la compilation du code PL/SQL

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 44
    Points : 42
    Points
    42
    Par défaut
    C'est dommage que ce ne soit pas intégré au langage, au moins la recherche ne se ferait qu'à la compilation...
    Je vais faire mon dico perso pour éviter des recherches trop lourdes.

    Un grand merci pour vos réponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. La taille MAX d'une colonne DB2
    Par a_karim_fr dans le forum DB2
    Réponses: 4
    Dernier message: 12/05/2011, 13h09
  2. taille max d'une photo jpg dans un champ blob de mysql
    Par zidenne dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 04/10/2006, 09h42
  3. Réponses: 13
    Dernier message: 06/07/2006, 11h25
  4. Taille max d'une image
    Par Risike dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 04/05/2006, 17h16
  5. [VBA] taille max d'une variable public
    Par gigs dans le forum Général VBA
    Réponses: 9
    Dernier message: 23/11/2005, 15h27

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