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

Administration SQL Server Discussion :

Vérifier l'existence d'une table dans une base de données


Sujet :

Administration SQL Server

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 86
    Points : 44
    Points
    44
    Par défaut Vérifier l'existence d'une table dans une base de données
    Bonjour tous le monde

    j'aimerai avoir une solution pour ces 2 problèmes c'est:

    1-
    comment je pourrait savoir est ce qu'une table se trouve dans une base de donnée.(avec une requête)

    2-
    lorsque je veut faire une sauvegarde de ma base le chemin de la sauvegarde est toujours par défaut est c:\Programme Files\Microsoft Sql Server\Mssql1\Data\Backup , et si je veut le sauvegarder dans un autre chemin il me donne une erreur pour cela je doit ajouter ce chemin pour qu'il puissent le connaitre par avant pour cela j'ai besoin d'un un procédure ou une requête qui permet d'ajouter un chemin à sql server 2005 pour sauvegarder mes bases de donnée.

  2. #2
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Bonjour,

    1 -
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM sysobjects WHERE name = '<table>'
    Ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -- Si null, l'objet n'existe pas, sinon, la table existe
    SELECT OBJECT_ID('<table>')
    ++

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 922
    Points : 51 719
    Points
    51 719
    Billets dans le blog
    6
    Par défaut
    Houlala quelle horrible réponse !!! LA atble sysobjects est deprecated depuis SQL Server 2005. Elle est donc suceptible de donner des résultats faux.

    Le mieux est d'utiliser les vues normatives de schéma comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM INFORMATION_SCHEMA.TABLES
    WHERE TABLE_NAME = '<table>' AND TABLE_SCHEMA = 'dbo'
    A +

  4. #4
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    ou encore la vue sys.objects

    @++

  5. #5
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut
    Bonjour,

    J'aimerais faire une petite suite sur la question de sysobjects.

    Nous avons ici des serveurs SQL 2000, 2005 et 2008.

    Suite à la lecture de ce post hier, j'ai fait des recherche au travers les tables et vues système sur sql 2008 et je n'ai effectivement pas trouvé de référence à une quelquonque table sysobjects .

    Or la requête suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from sysobjects
    fonctionne sous sql 2008 !

    Mes questions :

    1. Ou se trouve la référence à sysobjects sur SQL 2008 ? C'est une vue? Une table système?

    2. Toujours sous sql 2008, pourquoi est-ce que vous dites que les données risquent d'être erronées?

    Merci de m'éclairer....

  6. #6
    Modérateur

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2005
    Messages
    5 826
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 5 826
    Points : 12 371
    Points
    12 371
    Par défaut
    Bonjour,

    Comme vous le dit SQLPro, la table système sysobjects est dépréciée depuis la version 2005 e SQL Server, et il n'est donc plus conseillé de l'utiliser.
    C'est en ce sens que Microsoft ne garantit pas les données qu'elle contient, et qu'il est préférable, si vous souhaitez utiliser la même requête sur plusieurs versions de SQL Server et d'autres moteurs de base de données d'utiliser les vues standard, préfixées par INFORMATION_SCHEMA

    @++

  7. #7
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut
    Merci pour la réponse,

    Mais cela ne répond pas à ma question numéro 1. Ou se trouve la référence à sysobjects sous SQL2008 ? Je ne trouve ni vue ni table qui porte ce nom ?

  8. #8
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 922
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 922
    Points : 51 719
    Points
    51 719
    Billets dans le blog
    6
    Par défaut
    Vous ne la trouverez nulle part. Elle est conservée a des fins de rétro compatibilité afin de ne pas provoquer d'erreur.

    A +

  9. #9
    Membre habitué Avatar de Baquardie
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2003
    Messages : 267
    Points : 144
    Points
    144
    Par défaut
    Ok merci beaucoup !

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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 11h17
  2. Réponses: 7
    Dernier message: 31/08/2012, 19h42
  3. Réponses: 3
    Dernier message: 09/08/2010, 15h38
  4. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 15h29
  5. [MySQL] Vérifier l'existence d'un nom dans une table
    Par joselito dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 12/01/2007, 23h49

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