web-dev-qa-db-fra.com

Comment déterminer si une table existe dans une base de données SQL Server dans SQL Server 2008?

Comment déterminer si une table existe dans une base de données SQL Server dans SQL Server 2008?

13
Amir Rezaei

Si vous interrogez la table sysobjects, avec une requête comme

SELECT * FROM sysobjects WHERE xtype = 'U' AND name = 'yourTableName'

xtype = 'U' est une table utilisateur

vous pouvez ensuite envelopper ceci est une instruction IF EXISTS

IF EXISTS (SELECT * FROM sysobjects ...)
BEGIN
    ' do your stuff here if it exists
END 
18
Miles D

Voici une autre façon de le trouver

IF OBJECT_ID('tablename') IS NULL
PRINT 'Table Does not Exist'
12
Nomad
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES 
           WHERE TABLE_NAME = 'your table name here')
BEGIN
  PRINT 'Table Exists'
END
1
Divya Diya