A common problem encountered during SQL server development is to check if a particular table exists or not. There are different approaches to solve this problem and in this blog we will list out these approaches. For illustration purpose we will be using a table named Employees.
Let us first create the Employees table:
USE SampelDB
GO
CREATE TABLE dbo.Employees
(EmpId INT, EmpName NVARCHAR(100))
1) By using INFORMATION_SCHEMA.TABLES
IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = N'Employees')
BEGIN
PRINT 'Table Allready Exists'
END
The above query will check for the existence of the Employees table throughout all the schemas in the current database.
2) By using OBJECT_ID() function
IF OBJECT_ID(N'dbo.Employees', N'U') IS NOT NULL
BEGIN
PRINT 'Table Allready Exists'
END
In the above approach ,we can also specify database Name in case we want to check the existence of the table in a specific database.
3) By using sys.Objects Catalog View
IF EXISTS(SELECT 1 FROM sys.Objects WHERE Object_id = OBJECT_ID(N'dbo.Employees') AND Type = N'U')
BEGIN
PRINT 'Table Allready Exists'
END
Above approach uses the Sys.Objects catalog view to check the existence of the Table.
4) By using sys.Tables Catalog
IF EXISTS(SELECT 1 FROM sys.Tables WHERE Name = N'Employees' AND Type = N'U')
BEGIN
PRINT 'Table Allready Exists'
END
Above approach uses the Sys.Tables catalog view to check the existence of the Table.
Hope the above article helps you in implementing checks for table existence while doing SQL server development.
0 Comment(s)