您的位置:首页 > 数据库

SQL Server中如何判断一个数据库是否存在

2014-11-19 14:50 537 查看

在SQL Server数据库编程时,常常需要判断一个数据库是否已经存在,如果不存在则创建此数据库。常用的方法有以下三种:

1. select * From master.dbo.sysdatabases where name='test_db'

如果不存在查询结果,则说明name所表示的数据库不存在

2. object_id('test_db')

如果无法获取对象ID(null),则说明此对象不存在;常用

if object_id('test_db') is null 

或者

if (select object_id('test_db')) is null 

3. db_id('test_db')

如果不能获取数据库ID,则说明name所表示的数据库不存在;实际上此种方法也是在sysdatabases中查找,并返回数据库的ID;常用

if db_id('test_db') is null 

或者

if (select db_id('test_db')) is null 

下面以ASP编程为例来说明,先判断数据库是否存在,如果不存在则创建此数据库:

' strSQL = "if not exists (select * From master.dbo.sysdatabases where name='test_db') "& _

' strSQL = "if object_id('test_db') is null "& _

strSQL = "use master if not exists (select db_id('test_db')) "& _

"create database test_db on primary (name='test_data',filename='d:/temp/test_db/test_db.mdf',size=5MB,maxsize=unlimited,filegrowth=1%) "& _

"log on (name='test_log',filename='d:/temp/test_db/test_log.ldf',size=1MB,maxsize=unlimited,filegrowth=1%) "

cn.Execute(strSQL)

转自:http://blog.csdn.net/denlee/article/details/1591780
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  sql server 数据库