我想在数据库中创建一个不是我当前的模式。我尝试了以下语法:
CREATE SCHEMA MyDatabaseName.MySchemaName
并收到错误“'语法不正确'。'”所以似乎CREATE SCHEMA不支持指定数据库名称。
我可以做一个USE MyDatabaseName
,但它很复杂,因为我写的代码在存储过程中。
我还有其他选择吗?
答案 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)
希望这有帮助!!!