这个问题可能与Checking if database exists or not in SQL Azure有关。
在 SQL Azure 中,我尝试使用这样的脚本来检查数据库是否存在,如果尚不存在则创建数据库(在 SQLCmd 和 SSMS 中):
IF db_id('databasename') IS NULL CREATE DATABASE databasename
GO
但是,SQL Azure 不断告诉我
Msg 40530, Level 16, State 1, Line 2
The CREATE DATABASE statement must be the only statement in the batch.
虽然相同的脚本确实可以在本地 SQL Express 实例上运行。
这是否意味着 SQL Azure 不支持它? 或者有什么解决办法吗?
提前致谢。
编辑: 让我澄清一下我想要实现的目标: 我想要一个脚本,仅当某个数据库以前不存在时才会创建该数据库。 SQL Azure 是否可以有这样的脚本?
最佳答案
我们也有类似的问题。
看起来我们可以使用SET NOEXEC ON
做一些事情,如下所示StackExchange回答。
IF (<condition>)
SET NOEXEC ON
ELSE
SET NOEXEC OFF
GO
CREATE DATABASE databasename
GO
SET NOEXEC OFF
GO
关于sql - 用于创建数据库(如果 SQL Azure 中尚不存在)的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16882534/