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

Développement SQL Server Discussion :

Nom de table


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut Nom de table
    Bonjour,

    sous ORACLE pour trouver le nom exact d'une table je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    select table_name 
    from dictionary 
    where table_name like '%unaprtiedenomdetable%';


    Quel en est équivalent sous SQL SERVER ?



    D'avance merci.

  2. #2
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    Vous n'avez pas du beaucoup chercher! ce Forum a des règles en autres de consulter la FAQ...
    http://www.developpez.net/forums/d96...vement-poster/

    Sous SQL SERVER vous avez accès aux tables systèmes.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * 
    FROM sys.tables

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    merci,
    et puisque vous êtes gentil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    desc 'sys.TABLES'
    Msg 156, Level 15, State 1, Line 1
    Incorrect syntax near the keyword 'desc'.
    et pour select * from sys.TABLES :
    -il faut être sur la base master ou sur la base cible ?
    -ma base de données a 60000 table donc select * from sys.TABLES n'est vraiment pas pratique.

  4. #4
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut


    heu... votre touche "0" est restée enfoncée par mégarde, ou avez-vous bien voulu écrire "soixante mille tables" ?

    Pour votre question initiale, il faut effectivement être sur la base cible (et non la master), et faire :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT  name
    FROM sys.tables
    WHERE name LIKE '%unPartieDuNom%'

  5. #5
    Membre Expert Avatar de iberserk
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Novembre 2004
    Messages
    1 795
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 795
    Par défaut
    DESC 'sys.TABLES'
    Msg 156, Level 15, State 1, Line 1
    Incorrect syntax near the keyword 'desc'.
    .

    Croyez vous franchement que je peux exploiter une erreur sur une requête dont je n'ai que le dernier 'mot : DESC????
    il faut être sur la base master ou sur la base cible ?
    Il faut executer la requête sur la base cible en effet.

    ma base de données a 60000 table donc select * from sys.TABLES n'est vraiment pas pratiqu
    Et bien filtrez comme vous le faites sous oracle!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT name
    FROM sys.TABLES
    WHERE name like('re%')
    ORDER BY NAME

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    merci à tous , mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT name
    FROM sys.TABLES
    WHERE name LIKE('Table%')
    ORDER BY NAME
     
    Msg 208, Level 16, State 1, Line 1
    Invalid object name 'sys.TABLES'.
    Cordialement.

  7. #7
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Par défaut
    Citation Envoyé par big1 Voir le message
    Msg 208, Level 16, State 1, Line 1
    Invalid object name 'sys.TABLES'.
    Essayez sys.tables (en minuscules, le site DVP formate TABLES en majuscules...)

    sinon utilisez les vues du schéma INFORMATION_SCHEMA

  8. #8
    Expert confirmé
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Par défaut
    Bonjour Big1,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT *
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME LIKE '%la table%'
    A utiliser dans le contexte de la base de données concernée (norme ANSI SQL92)

    Curieux qu'oracle n'implémente pas ce genre de normes.

    ++

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 083
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 083
    Par défaut
    Oui, merci mikedavem. Ceci marche :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME LIKE '%la table%'

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

Discussions similaires

  1. passage d'un nom de table dans une procédure stockée
    Par thierry V dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 26/07/2010, 16h48
  2. Réponses: 2
    Dernier message: 03/02/2005, 13h21
  3. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38
  4. Afficher noms des tables d'une base
    Par jeff37 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/01/2004, 16h00
  5. noms des tables d'une base
    Par molto dans le forum SQL
    Réponses: 2
    Dernier message: 17/03/2003, 22h14

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