This comes in handy if you need to create an idempotent scripts. For example, a script to create your database’s tables (or other entities) might check for their existence before attempting to create them.
DROP TABLE IF EXISTS [dbo].[sqlstr_Users]; CREATE TABLE [dbo].[sqlstr_Users] ( Id int IDENTITY(1,1) NOT NULL, UserName VARCHAR(64) NOT NULL, FirstName VARCHAR(64) NOT NULL );
Note that the above
DROP TABLE IF EXISTS syntax is available only in SQL Server 2016+. For older versions of SQL Server, you could use the slightly more cumbersome alternative:
IF OBJECT_ID(N'dbo.Employees', N'U') IS NOT NULL DROP TABLE [dbo].[sqlstr_Users];
Here we check whether sqlstr_Users already exists. The
OBJECT_ID function returns an internal object ID of the object name passed as a parameter, or NULL. If an ID is returned the table must exist, and so it gets dropped.