8
votes

Créer une table d'une autre table dans une base de données différente dans SQL Server 2005

J'ai une base de données "temp" avec table "A". J'ai créé une nouvelle base de données "TEMP2". Je veux copier la table "A" de "Temp" à une nouvelle table dans "TEMP2". J'ai essayé cette déclaration, mais j'ai dit que j'ai une syntaxe incorrecte, voici la déclaration: xxx

voici l'erreur suivante:

msg 156, niveau 15, état 1, ligne 2 Syntaxe incorrecte près du mot clé 'in'. MSG 156, niveau 15, état 1, ligne 3 Syntaxe incorrecte près du mot clé 'in'.

Quelqu'un sait quel est le problème?

Merci d'avance,

GREG


1 commentaires

Et si la table "A" est située sur un autre serveur ??


8 Réponses :


22
votes

Je n'ai pas vu cette syntaxe avant. C'est ce que j'utilise normalement.

SELECT * 
INTO temp2.dbo.B
FROM temp.dbo.A


0 commentaires

1
votes

La requête doit être:

SELECT * INTO temp2.dbo.b
FROM temp.dbo.a


2 commentaires

Je vois que les réponses de mon @ Martin ont évolué les unes dans les autres :)


Tout aussi bien que je pense qu'il n'y a qu'une seule syntaxe de droite pour cela!



5
votes

Vous devez vous qualifier suffisamment du nom de la table pour SQL Server pour pouvoir identifier la table correcte.

La structure de noms est . .

. Comme les deux tables vivent sur le même serveur, vous pouvez vous dispenser avec cela, mais vous avez toujours besoin du reste: xxx
0 commentaires

0
votes

NOTE QUI SELECT DANS TOUCHE NE PAS COPIER LES INDUSTES. Si vous le souhaitez aussi, vous pouvez générer un script à partir de la source; fonctionner dans la cible dB et insérer dans

Insérer dans temp2.dbo.b (colonnes) Sélectionnez les colonnes de temp.dbo.a


0 commentaires

1
votes

Si vous ne voulez pas que les données que vous puissent faire:

SELECT TOP 0 * INTO temp2.dbo.b
FROM temp.dbo.a


0 commentaires

2
votes

Si vous ne voulez pas que les données ne veulent que le schéma de la table sans données, vous pouvez également utiliser cette approche ...

SELECT * INTO temp2.dbo.b
FROM temp.dbo.a where 1=0 


0 commentaires

0
votes

Le moyen le plus simple est par clic droit sur la table A à partir de la base de données TEMP , puis cliquez sur Table de script comme => Créer à => nouvelle fenêtre de l'éditeur de requête . Cela créera le script.

ALORS, Changez après 2 lignes. et exécutez-le pour une nouvelle base de données. xxx


0 commentaires

3
votes

Si vous souhaitez créer une nouvelle table dans un autre DB à partir de la DB actuelle, exécutez la requête.

CREATE TABLE `destination_database_name`.table_dummy AS (
SELECT * FROM currentDB.table
)


0 commentaires