begin process at 2008 08 20 11:51:24
1 228 769 membres
141 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

VÉRIFIER QU'UN OBJECT (TABLE, PROCÉDURE STOCKÉE) EXISTE


Information sur la source

Description

Il vous est peut être arrivé de vouloir vérifier si une table existe avant d'exécuter une certaine tâche.
Tous les informations concernant les tables, les procédures stockées, les fonctions et autres objets de base de données sont stockées dans la table SYSOBJECTS. Si vous êtes connecté en tant que Utilisateur sa(super admin), vous pourrez la voir dans vos tables. Il faut aussi noter que toutes les infos concernant les champs de vos tables sont dans la table SYSCOLUMNS.
Revenons à notre table SYSOBJECTS, dont les champs NAME et XTYPE vont nous intéresser.
Name nous permettra de rechercher un objet ayant pour nom Name et XTYPE donne le type de la table.
Les types suivants sont disponibles:
C = Contrainte CHECK
D = Valeur par défaut ou contrainte DEFAULT
F = Contrainte FOREIGN KEY
L = Journal
FN = Fonction scalaire
IF = Fonction table en ligne
P = Procédure stockée
PK = Contrainte PRIMARY KEY (de type K)
RF = Procédure stockée de réplication
S = Table système
TF = Fonction table
TR = Déclencheur
U = Table utilisateur
UQ = Contrainte UNIQUE (de type K)
V = Vue
X = Procédure stockée étendue
Pour Trouver un object de façon précise exécutez une requête de sélection dans la table SYSOBJECTS.

Source

  • --Permet de savoir si une table 'Produits' existe dans notre base de données
  • Select * from sysobjects where name='Produits' and Xtype='U'
  • --Permet de savoir si une procédure stockée 'SP_ValeursProduits' existe dans notre BD
  • Select * from sysobjects where name='SP_ValeursProduits' and Xtype='P'
--Permet de savoir si une table 'Produits' existe dans notre base de données
Select * from sysobjects where name='Produits' and Xtype='U'

--Permet de savoir si une procédure stockée 'SP_ValeursProduits' existe dans notre BD
Select * from sysobjects where name='SP_ValeursProduits' and Xtype='P'
  • signaler à un administrateur
    Commentaire de juvamine le 02/03/2005 08:36:46

    il serait peut etre pas trop bete de préciser le SGBDR avec lequel tu travaille...je suppose sql server mais ce n'est pas évident:
    -sqlserver
    -oracle
    -db2
    -mysql (lol)
    -SYbase
    -...

    juva

  • signaler à un administrateur
    Commentaire de outofcontrol le 13/09/2005 19:25:46

    Un Grand merci à toi pour cette doc utile

Ajouter un commentaire

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS