2010-12-03 9 views
1

merci pour votre temps. J'ai édité mon script, l'ai exécuté, et j'ai toujours ce nom: srp.dbo.gstDataCutover. J'avais l'habitude de pouvoir le faire facilement avec MSSQL2005. nous avons récemment mis à niveau à 2008. et je ne me rappelle pas le faire d'une autre façon ...SQL Server 2008: copier la structure de la table, et le schéma

Salut,

Je suis en train de copier une structure de table (colonnes, types de données, schéma) dans une nouvelle table avoir le même schéma et la même structure, en utilisant le code sql ci-dessous.

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

Mon problème est, quand je lance ce script la nouvelle table dbo.gstDataCutover est nommé comme « dbo.gstDataCutover » mais le schéma est réglé par défaut sur le schéma du système (« srp »), qui est en fait srp.[dbo.gstDataCutover].

Je veux copier à la fois la structure et le schéma.

Merci!

Répondre

4

Sans les points, les parenthèses indiquent le nom de la table, y compris le "dbo". dans votre exemple en tant que partie du nom de la table.

Si vous voulez que la table créée dans le schéma dbo:

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

De même, si vous voulez la table créée dans le schéma srp:

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

Le nom de la table n'a pas de caractères inhabituels, donc il n'y a pas besoin d'utiliser des supports durs ...

+0

merci beaucoup! J'ai sorti les supports, et c'était tout! =) –

+0

vos parenthèses doivent entourer des objets individuels plutôt que le graphique de l'objet entier. par exemple [dbo]. [gstDataCutver] et [srp]. [gstDataCutover] plutôt que [dbo.gstDataCutover] – BozoJoe

+0

@BozoJoe: Votre commentaire ne s'applique pas à ma réponse, mais à la question postée ci-dessus. –