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'
Did you like this post?
|
|
|
||
|
|
|
|
|
|
|
subscribe via rss |
|
subscribe via e-mail |
|
|
print this post |
|
follow me on twitter |




comments
9 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
hello
i have a problem with those if statements in sql server
i call that query with vb.net
IF OBJECT_ID ('hn.dbo.AWBuildVersion','U') IS NOT NULL print 'table exists' ELSE Print 'Table Does Not Exists'
and i reseave the message
the read try is not valid because it doesnt exist data
can anyone help??
Most Excellent, thank you. I hope it's clear to everyone that this is a query that you'd be running on the server itself, and that we who are running VB. code against the server are going to construct these as a query strings that we'd be running from a command object (or however you choose to run queries). This seems well suited to be made as a stored procedure, pass it the table name, perhaps object type and schema and have the result returned. I'll post that once I figure it out.
Sorry I'm contributing over two years after the rest of you...
Best Regards
@Vagelis
substitute the PRINT with a SELECT. Enjoy =)
Ivano
Post a Comment