【发布时间】:2015-12-25 00:14:22
【问题描述】:
我有一个脚本来检查数据库是否存在,如果它不存在,则会优雅地退出,并为用户提供一些说明。但是,当数据库不存在时,SSMS 将 USE 语句标记为错误并生成自己的错误,甚至无需运行我的脚本。所以在下面的代码中,行
SSTDB 不存在。首先运行 1MakeSSTDB.sql。退出脚本。
永远不会被执行。如果我注释掉 USE SSTDB 行,那么脚本会按预期工作。任何想法如何让它发挥作用? (使用 SqlServer 2014。)
USE master
GO
IF NOT EXISTS (SELECT name
FROM master.dbo.sysdatabases
WHERE ('[' + name + ']' = N'SSTDB' OR name = N'SSTDB'))
BEGIN
Print 'SSTDB doesnot exist. Run 1MakeSSTDB.sql first. Exiting script.'
END
ELSE
BEGIN
Print 'exists'
USE SSTDB
END
Print 'done'
消息 911,第 16 级,状态 1,第 14 行 数据库“SSTDB”不存在。确保名称输入正确。
【问题讨论】:
标签: sql-server ssms