Comment insert des données de colonne d'une table dans une autre dans SQL Server

J'essaie d'insert datatables de colonne new_file_name de la table document_image_volume1_rename_temp dans la table document_image_volume1_rename . Les deux tables ont une colonne document_image_id .

 USE myDatabase INSERT INTO document_image_volume1_rename (new_file_name) SELECT new_file_name FROM document_image_volume1_rename_temp WHERE document_image_volume1_rename.document_image_id = document_image_volume1_rename_temp.document_image_id 

Voici le message d'erreur:

Msg 4104, niveau 16, état 1, ligne 10
L'identifiant en plusieurs parties "document_image_volume1_rename.document_image_id" n'a pas pu être lié.

Je pense que ce que vous searchz est une requête UPDATE non une requête INSERT . Si vous ne souhaitez pas append de nouvelles lignes mais juste modifier une colonne dans les lignes existantes, essayez ceci:

 UPDATE t2 SET t2.new_file_name = t1.new_file_name FROM document_image_volume1_rename_temp t1 INNER JOIN document_image_volume1_rename t2 ON t1.document_image_id = t2.document_image_id 

Une reference pratique sur la syntaxe de requête UPDATE par DBMS peut être trouvée dans la réponse d'Eric ici .