我想在不是我当前的数据库中创建一个模式。我尝试了以下语法:
CREATE SCHEMA MyDatabaseName.MySchemaName
并收到错误“'.' 附近的语法不正确”,因此CREATE SCHEMA似乎不支持指定数据库名称。
我可以做一个USE MyDatabaseName
,但它很复杂,因为我正在编写的代码是在一个存储过程中。
我还有什么其他选择?
我想在不是我当前的数据库中创建一个模式。我尝试了以下语法:
CREATE SCHEMA MyDatabaseName.MySchemaName
并收到错误“'.' 附近的语法不正确”,因此CREATE SCHEMA似乎不支持指定数据库名称。
我可以做一个USE MyDatabaseName
,但它很复杂,因为我正在编写的代码是在一个存储过程中。
我还有什么其他选择?
sp_executesql
像这样使用:
exec MyDatabaseName.dbo.sp_executesql N'create schema MySchemaName'
CREATE SCHEMA 语句不能与同一批次中的其他语句组合。通过在前一条语句之后添加 GO 命令将语句分成不同的批次应该可以工作。在存储过程中,以下查询也将起作用:
declare @str varchar(100)
set @str = 'CREATE SCHEMA MySchemaName'
exec (@str)
希望这可以帮助!!!