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

时间:2009-09-28 23:35:52

标签: sql sql-server-2008 ssms

这是来自SQL Server 2008,ssms

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

我想在不同的架构下创建它,但是当我使用'New Table'对话框时,我永远找不到指定它的字段。

7 个答案:

答案 0 :(得分:223)

  1. 右键单击表节点,然后选择New Table...
  2. 打开表格设计器,打开属性窗口(视图 - >属性窗口)。
  3. 您可以通过在属性窗口中选择架构来更改将要创建表的架构。

答案 1 :(得分:46)

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

这假设您的数据库中存在schemaname。如果您还需要创建架构,请使用CREATE SCHEMA [schemaname]

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

答案 2 :(得分:12)

在SQL Server 2008中创建数据库架构
1.导航到安全>架构
2.右键单击Schemas并选择New Schema
3.在“常规”选项卡中填写新架构的详细信息。例如,架构名称为“MySchema”,架构所有者为“Admin” 4.根据需要将用户添加到架构并设置其权限:
5.添加任何扩展属性(通过“扩展属性”选项卡)
6.单击“确定”。
将表添加到新架构“MySchema”
1.在对象资源管理器中,右键单击表名并选择“设计”:
2.在SQL Server Management Studio中更改表的数据库模式 3.在“设计”视图中,按F4显示“属性”窗口 4.从“属性”窗口中,将架构更改为所需的架构:
5.右键单击选项卡并选择“关闭”,关闭设计视图:
6.关闭设计视图
7.提示保存时单击“确定” 8.您的表格现已转移到“MySchema”架构
刷新对象浏览器视图确认更改
完成

答案 3 :(得分:11)

点击F4,你就会得到你想要的东西。

答案 4 :(得分:5)

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

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

添加新表时,转到表设计模式并按F4打开属性窗口,然后从下拉列表中选择架构。默认值为dbo

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

<强>参见:

enter image description here

答案 5 :(得分:3)

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

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

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

答案 6 :(得分:1)

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

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