Précédent   Forum des professionnels en informatique > Bases de données > MS SQL-Server > Développement
Développement Forum d'entraide sur le Transact-SQL, le CLR, les procédures stockées, les triggers, les requêtes SQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/02/2011, 11h58   #1
jpo
Membre régulier
 
Inscription : octobre 2004
Messages : 188
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : octobre 2004
Messages : 188
Points : 70
Points : 70
Par défaut Requete SQL entre 2 bases

Bonjour,
Novice en SQL

J'ai deux bases SQL.
je manip avec SQL Management studio express 2005.

Je souhaiterais passer des données d'une table d'une base vers une autre table d'une autre base sql.

En fait il s'agit au départ d'une migration sauf qu'il y a une colonne qui n'a pas suivi ! la colonne est présente mais les données ne soint pas passées !

donc à l'aide d'une requete je devrais, enfin j'espere, pouvoir insérer les données dans la nouvelle table ? genre un Insert avec un Where ? Non ?

j'ai mis une PJ si ca peu éclairer ?

si vous avez des idées ... merci d'avance

JPO
Images attachées
Type de fichier : gif sql.gif (22,4 Ko, 11 affichages)
jpo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h36   #2
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Vous avez plusieurs possibilités
  1. Par Transacte SQL
    Code :
    1
    2
    3
    INSERT INTO mabase..MatableDestination(Champ1[,Champ2[,Champn)
    SELECT Champ1[,Champ2[,Champn)
    FROM  mabase..MatableSource
  2. Par Import-Export

Vous pouvez utilisez les outils imports/export fourni avec Le Management Studio.
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 14h38   #3
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
quelque chose dans ce goût:

Code :
1
2
3
INSERT INTO ma_bd_1.dbo.ma_table (col1, col2, ...)
SELECT col1, col2, ...
FROM ma_bd_2.dbo.ma_table
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h00   #4
Modérateur
 
Homme Fabien
Ingénieur d'études en décisionnel
Inscription : septembre 2008
Messages : 5 684
Détails du profil
Informations personnelles :
Nom : Homme Fabien
Âge : 34
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Ingénieur d'études en décisionnel
Secteur : Arts - Culture

Informations forums :
Inscription : septembre 2008
Messages : 5 684
Points : 10 459
Points : 10 459
Envoyer un message via ICQ à Waldar Envoyer un message via Skype™ à Waldar
Ou ceci qui créé la structure de la table (mais pas les contraintes, index et cetera) :
Code :
1
2
3
SELECT *
  INTO mabase..MatableDestination
  FROM mabase..MatableSource
__________________
Email : http://scr.im/waldar
Waldar est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h20   #5
Rédacteur/Modérateur

 
Avatar de WOLO Laurent
 
Homme Laurent WOLO
Architecte de base de données
Inscription : mars 2003
Messages : 2 696
Détails du profil
Informations personnelles :
Nom : Homme Laurent WOLO
Âge : 35
Localisation : Congo-Brazzaville

Informations professionnelles :
Activité : Architecte de base de données
Secteur : Finance

Informations forums :
Inscription : mars 2003
Messages : 2 696
Points : 3 917
Points : 3 917
Envoyer un message via Yahoo à WOLO Laurent
Au cas ou les bases sont sur des serveurs différents, il faut configurer unn serveur lié pour ensuite passer la même requête mais plus généraliser
Code :
1
2
3
4
 
INSERT INTO serveur1.mabase..MatableDestination(Champ1[,Champ2[,Champn)
SELECT Champ1[,Champ2[,Champn)
FROM  Serveur2.mabase..MatableSource
__________________

Découvrez la FAQ de MS SQL Server.
La chance accorde ses faveurs aux esprits avertis !
WOLO Laurent est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 15h58   #6
Expert Confirmé
 
Avatar de 7gyY9w1ZY6ySRgPeaefZ
 
Homme
dba
Inscription : juillet 2007
Messages : 2 520
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Canada

Informations professionnelles :
Activité : dba

Informations forums :
Inscription : juillet 2007
Messages : 2 520
Points : 3 967
Points : 3 967
Citation:
Envoyé par WOLO Laurent Voir le message
Au cas ou les bases sont sur des serveurs différents, il faut configurer unn serveur lié pour ensuite passer la même requête mais plus généraliser
Code :
1
2
3
4
 
INSERT INTO serveur1.mabase..MatableDestination(Champ1[,Champ2[,Champn)
SELECT Champ1[,Champ2[,Champn)
FROM  Serveur2.mabase..MatableSource
Vu la saisie d'écran du demandeur, ce n'est pas le cas.
__________________
les règles du forum - mode d'emploi du forum
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs.
(Rappel : "ça ne marche pas" n'est pas un message d'erreur)
JE NE RÉPONDS PAS aux questions techniques par message privé.
Écrire en français sur un forum est une marque minimale de respect.
7gyY9w1ZY6ySRgPeaefZ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 16h03   #7
jpo
Membre régulier
 
Inscription : octobre 2004
Messages : 188
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : octobre 2004
Messages : 188
Points : 70
Points : 70
Waw toutes ces réponses ! merci bcp !

comme je l'ai dis je suis novice, du coup je me suis mal exprimé.... pus que qu'il faut que je remplace des données d'une colonne par des données d'une autree colonne dans une autre base.

du coup ca doit etre un UPDATE ? pas un INSERT ? Non ?

voilà ma jolie requete ...
Code :
1
2
3
UPDATE [BCM_via_assistant].[dbo].[ActivitiesTable]
   SET [LinkToOriginal] = [RSI_BCM].[dbo].[ActivitiesTable].[LinkToOriginal]
 WHERE [BCM_via_assistant].[dbo].[ActivitiesTable].[ActivityGUID] = [RSI_BCM].[dbo].[ActivitiesTable].[ActivityGUID]
Et voilà le joli code d'erreur ...
Code :
1
2
Msg 4104, Niveau 16, État 1, Ligne 1
L'identificateur en plusieurs parties 'RSI_BCM.dbo.ActivitiesTable.ActivityGUID' ne peut pas être lié.
quelqu'un comprends ce que l'ordinateur essaie de me dire ?

merci
jpo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 16h22   #8
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
Citation:
Envoyé par jpo Voir le message

quelqu'un comprends ce que l'ordinateur essaie de me dire ?
Il essaie de te dire qu'il ne voit pas a quoi fait reference [RSI_BCM].[dbo].[ActivitiesTable].[LinkToOriginal], car en fait, la table [RSI_BCM].[dbo].[ActivitiesTable] n'est pas incluse dans la clause from de ta requete


pour garder le même principe que ta requete, tu peux donc faire :

Code :
1
2
3
4
5
6
7
 
UPDATE [BCM_via_assistant].[dbo].[ActivitiesTable]
SET [LinkToOriginal] = (
    SELECT [LinkToOriginal]
    FROM [RSI_BCM].[dbo].[ActivitiesTable]
    WHERE [BCM_via_assistant].[dbo].[ActivitiesTable].[ActivityGUID] = [RSI_BCM].[dbo].[ActivitiesTable].[ActivityGUID]
)
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 17h00   #9
jpo
Membre régulier
 
Inscription : octobre 2004
Messages : 188
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : octobre 2004
Messages : 188
Points : 70
Points : 70
merci bcp !
déjà j'ai appris des trucs c cool ... ca fonctionne sauf que .....

bah en fait c'est comme si il n'arrive pas à lire ce qu'il y a dans la table source ... résultat il me met NULL.

il y a bien des données dans la table source.

je test en mettant du texte "en dur" dans la requete et là ca marche ....

une idée ?

merci
jpo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 17h07   #10
Membre Expert
 
Inscription : janvier 2010
Messages : 1 084
Détails du profil
Informations personnelles :
Localisation : France, Rhône (Rhône Alpes)

Informations forums :
Inscription : janvier 2010
Messages : 1 084
Points : 1 573
Points : 1 573
bizare...

as-tu vérifié que les [ActivityGUID] sont bien les mêmes dans les deux tables ? (si des nouveau identifiants ont été générés pendant l'import, il est normal que ca ne fonctionne pas )
aieeeuuuuu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2011, 17h35   #11
jpo
Membre régulier
 
Inscription : octobre 2004
Messages : 188
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Vienne (Poitou Charente)

Informations forums :
Inscription : octobre 2004
Messages : 188
Points : 70
Points : 70
bingo !
je pensais vraiment que c'était les meme numéros !

j'ai fais un grand pas aujourd'hui et je vous en remercie tous!!!!!!!!!!!!

merci

JPO
jpo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h53.


 
 
 
 
Partenaires

Hébergement Web