The Object_ID() takes in the object name and object type as parameters. The object name is the object used and the object type is the type of object used in a schema.
For example to check if a table exists in a database, use this query :
IF OBJECT_ID ('AdventureWorks.dbo.AWBuildVersion','U') IS NOT NULL
Print 'Table Exists'
ELSE
Print 'Table Does Not Exists'
where 'AdventureWorks.dbo.AWBuildVersion' is the object name and 'U' is the object type which represents a table
Similarly you can check for a stored procedure or a view by specifying the correct object type. You can get an entire list of object types over here.
To check if a database exists, you can use the DB_ID() function as shown below :
IF db_id('AdventureWorks') IS NOT NULL
Print 'Database Exists'
ELSE
Print 'Database Does Not Exists'



comments
6 Responses to "Check if a database or table exists using Sql Server 2005"thank you, this was very useful
Thanks, I was also looking for the same thing. Thank you.
Thanks for the information
Done this before, am having a blonde day so this was very helpful thanks!
Very useful, you can also do this if youre running across several db's in a cursor or something.
declare @db_name varchar(255)
set @db_name = 'db_test'
/*only run in dbs that have view*/
IF OBJECT_ID (@db_name+'.dbo.custom_count_dbm_mth2_vw','V') IS NOT NULL
Print 'do this'
ELSE
Print 'do nothing or something else'
Thank you very much
Post a Comment