Azure数据库:如果不存在则创建表

时间:2018-04-06 19:37:19

标签: sql-server azure azure-sql-database

我已经看到了“创建表”的答案(如果不存在)' Microsoft SQL Server的问题(例如,CREATE TABLE IF NOT EXISTS equivalent in SQL Server

但是,这对Azure数据库不起作用 - 不确定是否无法访问sysobjects或信息架构,但我找不到可靠的方法来查找表是否有表已经创建,如果没有,则创建表。您似乎必须能够访问master才能使其正常工作。

当我在Azure上尝试此查询(来自上述链接中的解决方案)时,它失败了:

if not exists (select * from sysobjects where name='cars' and xtype='U')
    create table cars (
        Name varchar(64) not null
    )
go

错误:

Msg 262, Level 14, State 1, Line 2
CREATE TABLE permission denied in database 'master'.

知道如何在Azure上执行此操作吗?

1 个答案:

答案 0 :(得分:3)

您无法在Azure中的master数据库中创建表。请创建一个数据库并在那里运行create table脚本。