2010-12-03 14 views
1

ありがとうございます。私はスクリプトを編集して実行したが、まだこの名前を持っていた:srp.dbo.gstDataCutover。私はこれをMSSQL2005で簡単にやっていました。我々は最近、2008年にアップグレードしていると私は私が新しいテーブルにテーブル構造(カラム、データ型、スキーマ)をコピーしようとしているそれを...SQL Server 2008:コピーテーブルの構造とスキーマ

こんにちは、

他の方法をやって覚えていけません以下のSQLコードを使用して、同じスキーマと構造を持つようにします。

SELECT  dbo.gstData.* 
INTO   [dbo.gstDataCutover] 
FROM   dbo.gstData 
WHERE  dbo.gstData.gstID < 1 

私の問題は、私は新しいテーブルdbo.gstDataCutoverが「dbo.gstDataCutover」と命名されたこのスクリプトを実行すると、ですが、スキーマが実際にsrp.[dbo.gstDataCutover]あるシステムスキーマ(「SRP」)、にデフォルト設定されています。

構造体とスキーマの両方をコピーしたいと思います。

ありがとうございます!

答えて

4

ピリオドを付けずに、ハードブラケットはテーブル名を示します。これには「dbo」が含まれています。あなたの例では、テーブル名の一部として。

あなたはdboスキーマで作成したテーブルが必要な場合:同様に

SELECT t.* 
    INTO dbo.gstDataCutover 
    FROM dbo.gstData t 
WHERE t.gstID < 1 

、あなたはSRPスキーマで作成したテーブルたい場合:

SELECT t.* 
    INTO srp.gstDataCutover 
    FROM dbo.gstData t 
WHERE t.gstID < 1 

をテーブル名は任意のを持っていません珍しいキャラクターなので、ハードブラケットを使う必要はありません。

+0

ありがとうございます!私は括弧を取り除いた、それはそれだった! =) –

+0

あなたの括弧は、オブジェクトグラフ全体ではなく個々のオブジェクトを囲む必要があります。 [dbo]。[gstDataCutver]と[srp]。[dbo.gstDataCutover]ではなく[gstDataCutover] – BozoJoe

+0

@BozoJoe:あなたのコメントは私の答えには当てはまりませんが、上記の質問には当てはまりません。 –

関連する問題