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

Interfaces de programmation Oracle Discussion :

[OCI] Savoir si une table existe


Sujet :

Interfaces de programmation Oracle

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut [OCI] Savoir si une table existe
    bonjour, je voudrais savoir si il existe une méthode pour savoir si une table existe dans une db. et ce a partir d'OCI.

    merci

  2. #2
    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
    Bonjour,

    Le plus simple de créer une fonction qui encapsule une requête sur le catalogue et de passer en paramètre le nom de la table.

    Si la table fait partie du user connecté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select count(*) from user_tables where table_name = upper(:ma_table)
    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

  3. #3
    Membre expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Points : 3 266
    Points
    3 266
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select 1 from all_tables where table_name = upper('%matable%') ;
    un curseur, un fetch et si erreur 1403 c'est que çà n'existe pas.
    Emmanuel Lecoester
    => joomla addict.

  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
    Citation Envoyé par elecoest Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select 1 from all_tables where table_name = upper('%matable%') ;
    un curseur, un fetch et si erreur 1403 c'est que çà n'existe pas.
    en faisant un count(*), pas d'erreur 1403... Juste à tester si résultat > 0

    [PS : elecoest, épure tes MP, car ton quota est dépassé, je ne peux te répondre !!]
    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
    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
    Citation Envoyé par elecoest Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    select 1 from all_tables where table_name = upper('%matable%') ;
    un curseur, un fetch et si erreur 1403 c'est que çà n'existe pas.
    Faut faire attention en interrogeant all_tables car plusieurs users peuvent avoir une table avec le même nom...

    Il faut alors spécifier le owner....

    Si la table appartient au même schéma, il vaut mieux utiliser user_tables
    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

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Avril 2004
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2004
    Messages : 421
    Points : 189
    Points
    189
    Par défaut
    grand merci

    a++

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 98
    Points : 68
    Points
    68
    Par défaut savoir si une base existe
    Bonjour
    mois mon problème c'est presque pareil SVP est ce que vous connaissez comment savoir si une base existe à partir d'un programme JAVA. Merci

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

Discussions similaires

  1. [Débutant] savoir si une table existe
    Par sebasti1-88 dans le forum VB.NET
    Réponses: 4
    Dernier message: 30/08/2011, 19h08
  2. Savoir si une table existe dans une base
    Par guznat dans le forum VB.NET
    Réponses: 6
    Dernier message: 26/01/2011, 15h11
  3. Savoir si une table existe
    Par insane1 dans le forum PL/SQL
    Réponses: 3
    Dernier message: 14/05/2009, 19h23
  4. comment savoir si une table existe dans la base?
    Par isa21493 dans le forum ASP
    Réponses: 6
    Dernier message: 01/09/2005, 17h09
  5. Savoir si une table existe
    Par Sydaze dans le forum Bases de données
    Réponses: 4
    Dernier message: 07/06/2005, 11h22

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