sql - 用于创建数据库(如果 SQL Azure 中尚不存在)的脚本

标签 sql database azure azure-sql-database

这个问题可能与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/

相关文章:

sql - 如何使用 sql 连接简化此查询?

sql - 在数据库中存储大量时间序列的有效方法是什么?

mysql - 在日期字段中保留加入时更新速度问题

azure - 获得 blob 的多个租约

azure - 如何在 azure APIM 策略中添加一项操作,在不使用 Azure 函数的情况下下载共享点中存储的文件文档?

azure - 具有状态参与者的地理映射

java - 更新和检索表中的一行 ms sql java

mysql - 从 MySQL 选择唯一行

mysql - 在除一列之外的所有列上选择不同的行

mysql - 如何在一个触发器中放置多组方程式