2013-10-16 81 views
0

我想在不是我當前的數據庫中創建模式。我試過的語法如下:創建模式時指定數據庫

CREATE SCHEMA MyDatabaseName.MySchemaName 

,並得到了錯誤如此看來CREATE SCHEMA不支持指定數據庫名稱「附近有語法錯誤。'」。

我可以做一個USE MyDatabaseName,但它很複雜,因爲我正在編寫的代碼在存儲過程中。

我還有其他選擇嗎?

回答

1

使用sp_executesql像這樣:

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

工程就像一個魅力! –

0

CREATE SCHEMA語句不能與同一批次中的其他語句組合。通過在前一個語句之後添加GO命令,可以將語句分成不同批次。在存儲過程中,以下查詢也將工作:

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

希望這有助於!

+0

我實在不明白這是如何解決我的問題...使用'EXEC'我可以做一個使用'database',但我寧願不要。 –