首页 > 解决方案 > Azure SQL - 创建没有架构的表?

问题描述

我是 MS SQL Server 的新手,来自 MySQL。我有点了解 MS SQL 模式及其用途,但我认为只有一个 DBA 的小型应用程序不需要它们。

是否可以完全忽略模式,例如创建和查询表?如果是这样,在不指定架构的情况下创建表的格式是什么?这是在 Azure 中,带有一个 Azure SQL DB。

更新

感谢下面的答案,您在创建表时显然不需要指定架构。创建后,该表将默认自动应用架构“dbo”。

CREATE TABLE cm_user
(   
cm_user_pk int PRIMARY KEY CLUSTERED, 
user_code VARCHAR(10)  NOT NULL, 
first_name VARCHAR(60)  NOT NULL,
last_name    VARCHAR(60)  NOT NULL,
email    VARCHAR(100)  NOT NULL,
user_type    VARCHAR(20)  NOT NULL     
) 

结果在表中dbo.cm_user_pk

标签: sql-serverazure-sql-database

解决方案


是否可以完全忽略模式,例如创建和查询表?

我想,这是不可能的。当我们在 Azure SQL 数据库中创建表而不指定默认架构时,该表将与 Azure SQL 数据库用户具有相同的架构。

在 Azure SQL 数据库中,当创建用户时,我们必须指定架构,服务器管理员和用户的默认架构是DBO. 这意味着用户创建的所有表都将具有相同的默认架构。请参考:

  1. 登录名和用户
  2. 创建用户 (Transact-SQL)
  3. 创建表 (Transact-SQL)

希望这可以帮助。


推荐阅读