创建模式时指定数据库

时间:2013-10-16 05:57:28

标签: sql-server tsql database-schema

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

CREATE SCHEMA MyDatabaseName.MySchemaName

并收到错误“'语法不正确'。'”所以似乎CREATE SCHEMA不支持指定数据库名称。

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

我还有其他选择吗?

2 个答案:

答案 0 :(得分:1)

像这样使用sp_executesql

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

答案 1 :(得分:0)

CREATE SCHEMA语句不能与同一批次中的其他语句组合。通过在上一个语句之后添加GO命令来将语句分隔成不同的批处理应该有效。在查询后的存储过程中也可以工作:

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

希望这有帮助!!!