Sql server - tester l'existance d'un objet

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 321 fois - Téléchargée 25 fois

Contenu du snippet

Script qui vous permet de tester si un objet existe. Ce script fonctionne sur SQL Server 7, 2000 et 2005 quelque soit l'édition et devrait continuer à fonctionner sans problèmes dans les prochaines versions.

Voici la syntaxe de OBJECT_ID :
OBJECT_ID('nom objec', ['type'])



'nom objet' : [NomDeLaBase.][Schema.]NomObjet

'type' : C = Contrainte CHECK,
D = Contrainte par défaut ou DEFAULT,
F = Contrainte FOREIGN KEY,
FN = Fonction scalaire,
IF = Fonction de table inline,
K = Contrainte PRIMARY KEY ou UNIQUE,
L = Journal,
P = Procédure stockée,
R = Règle,
RF = Procédure stockée à filtre de réplication,
S = Table système,
TF = Fonction de table,
TR = Déclencheur,
U = Table utilisateur,
V = Vue,
X = Procédure stockée étendue

Renvoie le numéro de l'objet si l'objet existe, sinon renvoie NULL.

Source / Exemple :


--
--  TEST DU NOM SIMPLE
--

IF OBJECT_ID('MonObjet') IS NOT NULL
  PRINT 'L''objet ''MonObjet'' existe'
ELSE
  PRINT 'L''objet ''MonObjet'' n''existe pas'

--
--  TEST DU NOM SIMPLE AVEC TYPE
--

IF SELECT OBJECT_ID('MonObjet', 'U') IS NOT NULL
  PRINT 'L''objet ''MonObjet'' existe'
ELSE
  PRINT 'L''objet ''MonObjet'' n''existe pas'

--
--  TEST DU NOM SIMPLE AVEC TYPE, DANS UNE BASE DE DONNEES
--

IF SELECT OBJECT_ID('MaBase.dbo.MonObjet', 'U') IS NOT NULL
  PRINT 'L''objet ''MonObjet'' existe'
ELSE
  PRINT 'L''objet ''MonObjet'' n''existe pas'

Conclusion :


A utiliser sans modérations

A voir également

Ajouter un commentaire

Commentaires

thierry38080
Messages postés
19
Date d'inscription
mardi 14 février 2006
Statut
Membre
Dernière intervention
10 septembre 2008
-
Ben voilà un petit source qui me facilite la vie !
Je ne connaissais pas cette fonction OBJECT_ID et c'est royal !
Merci beaucoup !!!
cs_Raidwan
Messages postés
23
Date d'inscription
jeudi 9 septembre 2004
Statut
Membre
Dernière intervention
10 novembre 2008
-
Super !
Je ne connaissais pas non plus...Voilà qui facilite grandement les choses.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.