1

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

CREATE SCHEMA MyDatabaseName.MySchemaName

并收到错误“'.' 附近的语法不正确”,因此CREATE SCHEMA似乎不支持指定数据库名称。

我可以做一个USE MyDatabaseName,但它很复杂,因为我正在编写的代码是在一个存储过程中。

我还有什么其他选择?

4

2 回答 2

1

sp_executesql像这样使用:

exec MyDatabaseName.dbo.sp_executesql N'create schema MySchemaName'
于 2013-10-16T07:11:34.247 回答
0

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

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

希望这可以帮助!!!

于 2013-10-16T06:06:11.430 回答