Sql server 在创建架构时指定数据库

Sql server 在创建架构时指定数据库,sql-server,tsql,database-schema,Sql Server,Tsql,Database Schema,我想在不是我当前的数据库中创建一个架构。我尝试了以下语法: CREATE SCHEMA MyDatabaseName.MySchemaName 并出现错误“靠近“”的语法不正确”,因此它似乎不支持指定数据库名称 我可以使用MyDatabaseName执行操作,但这很复杂,因为我正在编写的代码位于存储过程中 我还有哪些其他选项?CREATE SCHEMA语句不能与同一批中的其他语句组合。通过在上一个语句后添加GO命令将语句分为不同的批应该可以工作。在存储过程中,以下查询也将起作用: declar

我想在不是我当前的数据库中创建一个架构。我尝试了以下语法:

CREATE SCHEMA MyDatabaseName.MySchemaName
并出现错误“靠近“”的语法不正确”,因此它似乎不支持指定数据库名称

我可以使用MyDatabaseName执行
操作,但这很复杂,因为我正在编写的代码位于存储过程中


我还有哪些其他选项?

CREATE SCHEMA语句不能与同一批中的其他语句组合。通过在上一个语句后添加GO命令将语句分为不同的批应该可以工作。在存储过程中,以下查询也将起作用:

declare @str varchar(100)
set @str = 'CREATE SCHEMA MySchemaName'
exec (@str) 

希望这有帮助

CREATE SCHEMA语句不能与同一批中的其他语句组合。通过在上一条语句后添加GO命令将语句分为不同批应该可以工作。在存储过程中,以下查询也将起作用:

declare @str varchar(100)
set @str = 'CREATE SCHEMA MySchemaName'
exec (@str) 

希望这有帮助

像这样使用
sp_executesql

exec MyDatabaseName.dbo.sp_executesql N'create schema MySchemaName'

像这样使用sp_executesql

exec MyDatabaseName.dbo.sp_executesql N'create schema MySchemaName'

我真的不明白这如何解决我的问题。。。使用
EXEC
我可以做一个
USE database
,但我不想做。我真的不知道这是如何解决我的问题的。。。使用
EXEC
我可以做一个
USE-database
,但我不想这样做。