Sql server - tester l'existance d'un objet

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

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.