如何向sql server 2008添加新架构?

cho*_*obo 64 sql-server sql-server-2008

如何向数据库添加新架构?我正在创建一个新表,并希望从属性列表中选择我自己的架构,但我不知道如何创建它.我正在使用SQL Server Management 2008.

Joe*_*lli 90

使用CREATE SCHEMA语法或在SSMS中深入查看数据库 - > YourDatabaseName - >安全性 - >架构.右键单击Schemas文件夹,然后选择"New Schema ..."


Mar*_*ark 46

这是一个很容易检查架构是否已经存在的技巧,然后在它自己的批处理中创建它,以避免在它不是批处理中的唯一命令时尝试创建架构的错误消息.

IF NOT EXISTS (SELECT schema_name 
    FROM information_schema.schemata 
    WHERE schema_name = 'newSchemaName' )
BEGIN
    EXEC sp_executesql N'CREATE SCHEMA NewSchemaName;';
END
Run Code Online (Sandbox Code Playgroud)


小智 11

我使用这样的东西:

if schema_id('newSchema') is null
    exec('create schema newSchema');
Run Code Online (Sandbox Code Playgroud)

优点是如果你在长sql脚本中有这个代码,你总是可以用其他代码执行它,而它的简短.


小智 8

将模式添加到现有表的最佳方法:右键单击特定表 - >设计 - >在管理工作室右视图右侧看到"属性"窗口并选择模式并单击它,请参阅下拉列表并选择模式.更改后,架构保存它.然后会看到它会破坏你的架构.


小智 7

你可以试试这个:

use database
go

declare @temp as int
select @temp = count(1) from sys.schemas where name = 'newSchema'

if @temp = 0 
begin
    exec ('create SCHEMA temporal')
    print 'The schema newSchema was created in database'
end 
else 
print 'The schema newSchema already exists in database'
go
Run Code Online (Sandbox Code Playgroud)