如何在不同的模式下创建 SQL 表?

这是来自 SQLServer2008,ssms

当我创建一个表时,它是在 dbo 下创建的。

我想在一个不同的模式下创建它,但是当我使用‘ New Table’对话框时,我找不到指定它的字段。

193417 次浏览

试试运行 CREATE TABLE [schemaname].[tableName]; GO;

这假设模式名存在于数据库中。如果还需要创建模式,请使用 CREATE SCHEMA [schemaname]

编辑: 更新为 SQL Server 11.03,要求这是批处理中的唯一语句。

  1. 右键单击 tables 节点并选择 New Table...
  2. 打开表设计器后,打开属性窗口(view-> Properties Window)。
  3. 通过在属性窗口中选择架构,可以更改将在其中生成表的架构。

当我使用 SSMS 2008创建一个表时,我看到3个窗格:

  • 专栏设计师
  • 列属性
  • 表属性

在表属性窗格中,有一个字段: Schema,它允许您选择架构。

按 F4你就会得到你想要的。

在 SQLServer2008中创建数据库架构
1. 浏览安全性 > 架构
右键单击 Schemas 并选择 New Schema
3.完成新架构的 General 选项卡中的详细信息。类似地,模式名称是“ MySchema”,模式所有者是“ Admin”。
4. 根据需要将用户添加到架构并设置其权限:
5. 添加任何扩展属性(通过扩展属性选项卡)
点击确定。
< b > 为新模式“ MySchema”添加一个表
在对象资源管理器中,右键单击表名并选择“设计”:
2. 更改 SQLServerManagementStudio 中表的数据库架构
3. 在“设计”视图中,按 F4显示“属性”窗口。
4. 从“属性”窗口中,将模式更改为所需的模式:
5. 右键单击标签并选择“关闭”,关闭设计视图:
6. 关闭设计视图
7. 当提示保存时,单击“确定”
8. 您的表现在已经转移到“ MySchema”模式。

刷新对象浏览器视图以确认更改
成交

如果数据库中不存在 Schema,那么 ShaunF 的回答将不起作用。如果有人正在寻找创建模式的方法,那么只需执行以下脚本来创建模式。

create schema [schema_name]
CREATE TABLE [schema_name].[table_name](
...
) ON [PRIMARY]

在添加新表时,转到表设计模式,按 F4打开属性 Window 并从下拉列表中选择模式。默认值是 dbo

还可以使用“属性”窗口更改当前表的架构。

参考:

enter image description here

可以使用以下查询更改用户的默认架构,并避免在每次创建表时更改属性。

USE [DBName]
GO
ALTER USER [YourUserName] WITH DEFAULT_SCHEMA = [YourSchema]
GO