現在使用していないデータベースにスキーマを作成したいと考えています。次の構文を試しました。
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)
お役に立てれば!!!