运行脚本 - 检查SQL Server 2008数据库是否存在,如果不存在则替换(USE数据库)

时间:2014-12-04 21:17:05

标签: sql sql-server

运行脚本 - 检查SQL Server 2008数据库是否存在,如果不存在则替换(USE Database

我在很多服务器上运行脚本。但是,某些数据库名称并不总是相同,因此我们必须编辑“使用数据库”

if DB_ID('sports') is not null -- check to see if exists
   use sports
else
   use SportsLive`-- use the correct one

总是一个人不会存在......

  

Msg 911,Level 16,State 1,Line 15
  数据库' SportsLive'不存在。确保正确输入名称。

有什么方法吗?

1 个答案:

答案 0 :(得分:0)

use [xxx]必须在代码的开头,所以

如果您使用此查询的内容

您需要将其余代码放在一起

使用[xxx] ...'比如示例

 DECLARE @i nvarchar(50)
DECLARE @a nvarchar(50)
SET @i =DB_NAME(coalesce((db_id('sports')),(db_id('SportsLive'))))
SELECT @i
SET @a= 'USE ['+@i+']
select * from [your table]'
 EXEC (@a)