我试图检查Microsoft SQL Server中是否存在数据库,最简单的方法是什么?我只是希望它返回一个真值或假值,然后我会创建一个数据库,如果它不存在。任何帮助将不胜感激,谢谢。
答案 0 :(得分:5)
连接到system-db(master,msdb,tempdb或model) - 因为你可以确定它们存在!然后你可以选择这样的数据库列表:
select * from sys.databases
或者如果您想知道特定的数据库是否存在:
select * from sys.databases where name = 'NameOfYourDb'
如果在连接字符串中没有数据库名称连接(属于您正在使用的提供程序),则应自动连接到默认数据库(默认情况下为“master”)
答案 1 :(得分:3)
尝试以下
Declare @Dbname varchar(100)
SET @Dbname = 'MASTER'
if exists(select * from sys.databases where name = @Dbname)
select 'true'
else
select 'false'
这是专门针对SQL Server的
答案 2 :(得分:0)
您可以尝试以下查询:
select * from sys.databases where [name] = <name of database>