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 :

Obtenir les infos sur les colonnes d'une table


Sujet :

SQL Oracle

  1. #1
    Membre expérimenté
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 219
    Points : 1 438
    Points
    1 438
    Par défaut Obtenir les infos sur les colonnes d'une table
    Bonjour,

    J'aimerais connaitre les informations concernant chaque colonne d'une table comme
    - NOT NULL ou pas
    - existence de contrainte CHECK ou pas alors quelle est la condition
    - référence FOREIGN KEY vers un champ ou pas

    Je connais la vue ALL_TAB_COLUMNS qui me permet de savoir si NOT NULL ou pas mais cela ne semble pas marcher. J'ai créé la table NOT NULL mais le champ NULLABLE reste Y
    Pour les foreign keys, je ne sais pas du tout quelle est la vue à exploiter !!!
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  2. #2
    Membre expérimenté Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Points : 1 734
    Points
    1 734
    Par défaut
    Pour les foreign keys : vue dba_constraints avec constraint_type = 'R' il me semble
    Pour les contraintes check : vue dba_constraints avec constraint_type = 'C' (il me semble aussi )
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  3. #3
    Membre expérimenté
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 219
    Points : 1 438
    Points
    1 438
    Par défaut
    En effet, il s'agit de cette vue, merci
    Mais je cherche aussi quelques précisions comme : quelle table référence un foreign key ?
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  4. #4
    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 307
    Points
    5 307
    Par défaut
    il faut récupérer le nom de la contrainte référencée par la FK.

    il s'agit du champs r_constraint_name des vues xxx_constraints et tu retrouvera la table associée toujours dans xxx_contraints
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  5. #5
    Membre expérimenté
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 219
    Points : 1 438
    Points
    1 438
    Par défaut
    il s'agit du champs r_constraint_name des vues xxx_constraints et tu retrouvera la table associée toujours dans xxx_contraints
    Ah, je comprend: le contenu du champ r_constraint_name permet de connaitre le champ référencé !!
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

  6. #6
    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 307
    Points
    5 307
    Par défaut
    r_constraint_name te donne le nom de la contrainte (unicité, primaire, ...) référencée par la FK.

    Donc, tu peux retrouver ensuite la liste des colonnes de la contrainte.

    Si c'est une clé à plusieurs colonne, il faut alors matcher les colonnes des deux contraintes par leur position
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  7. #7
    Membre expérimenté
    Avatar de randriano
    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 219
    Points : 1 438
    Points
    1 438
    Par défaut
    D'accord pour les FK

    En fait, à propos des contraintes NOT NULL, je pense au champ NULLABLE de DBA_TAB_COLUMNS mais son contenu ne correspond pas du tout
    Désolé, j'ai beaucoup de questions mais pour les DEFAULT c comment????
    randriano.dvp.com
    Développeur. Product Owner [Agile]. Sites web, mobile apps, système d'information (SI).

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/12/2008, 14h54
  2. Récupérer les infos d'un formulaire dans une table
    Par Le_Shadock dans le forum WinDev
    Réponses: 9
    Dernier message: 18/04/2008, 09h26
  3. Réponses: 4
    Dernier message: 17/11/2006, 19h35
  4. Réponses: 3
    Dernier message: 28/10/2004, 08h39

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