2011-11-13 9 views
2

SQL Server 2005を使用しています。データベースには多くのテーブルが含まれています。
私のdbを調べると、すべてのテーブル名の先頭に "dbo"が付いています。私は、データベース名を持つ「DBO」は、以下を参照してください置き換えたい:テーブルにdb名を表示する方法

enter image description here

+1

デフォルトのスキーマはdboです。必要に応じて、データベースに多数のスキーマからオブジェクトを含めることができます。基本的に名前空間に名前を付けます。私は、データベース名と一致するスキーマを作成する際に、自分自身のポイントを見ません。 –

+0

+1あなたが意味するものを説明するためにイメージを使用(および編集)する –

答えて

0

他にもdboはデフォルトのスキーマです。私はあなたがデータベースと同じ名前を持つスキーマを作成したいと思う理由はわからないんだけど、あなたは、次のような何かをしなければならないよう求めてきたものを達成するために:

  • は、新たに作成します。 CREATE SCHEMAステートメントを使用するスキーマ

  • ALTER SCHEMAステートメントを使用して、既定のスキーマから新しいスキーマにテーブルを移動します。

例は次のようになります。

IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name ='iMature_US') 
EXEC dbo.sp_executesql @statement=N'CREATE SCHEMA iMature_US'; 
GO 

ALTER SCHEMA iMature_US TRANSFER dbo.PODetail 
GO 

あなたはINFORMATION_SCHEMA.TABLESビューからのデータを使用して、すべてのテーブルを転送するためのスクリプトを書くことができます。

2

DBOがスキーマ名で、それはデータベース名とは何の関係もありません。 SQL Serverは[ServerName]。[Database name]。[Schema name]。[Table/View/Trigger/SP/Function/etc Name]の4つの部分名を使用します。デフォルトのスキーマはdboですが、必要に応じてデータベースの後に名前を付けることができます(詳細はhttp://msdn.microsoft.com/en-us/library/ms189462.aspxを参照してください)。

関連する問題