IF NOT EXISTS (SELECT schema_name
FROM information_schema.schemata
WHERE schema_name = 'newSchemaName' )
BEGIN
EXEC sp_executesql N'CREATE SCHEMA NewSchemaName;';
END
43
我使用这样的东西:
if schema_id('newSchema') is null
exec('create schema newSchema');
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
9
在SQL Server 2016中,SSMS展开“DATABASNAME”>展开“SECURITY”>展开“SCHEMA”;右键单击“SCHEMAS”从弹出窗口左键单击“NEW SCHEMAS ...”在打开的窗口中添加名称并添加所有者,即dbo单击“确定”按钮
6 回答
使用CREATE SCHEMA语法或在SSMS中深入查看数据库 - > YourDatabaseName - >安全性 - >架构 . 右键单击Schemas文件夹并选择"New Schema..."
这是一个很容易检查架构是否已经存在的技巧,然后在它自己的批处理中创建它,以避免在它不是批处理中的唯一命令时尝试创建架构的错误消息 .
我使用这样的东西:
优点是如果你在长sql脚本中有这个代码,你总是可以用其他代码执行它,而它的简短 .
将模式添加到现有表的最佳方法:右键单击特定表 - >设计 - >在管理工作室右视图右侧看到“属性”窗口并选择模式并单击它,请参阅下拉列表并选择模式 . 更改后,架构保存它 . 然后会看到它会破坏你的架构 .
你可以试试这个:
在SQL Server 2016中,SSMS展开“DATABASNAME”>展开“SECURITY”>展开“SCHEMA”;右键单击“SCHEMAS”从弹出窗口左键单击“NEW SCHEMAS ...”在打开的窗口中添加名称并添加所有者,即dbo单击“确定”按钮