Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment générer des instructions d'insertion à partir de données Excel et charger dans la table SQL Server - Tutoriel SQL Server / TSQL Partie 103

Scénario :

Vous travaillez en tant que développeur SQL Server, vous avez reçu des données dans un fichier Excel pour les tables dbo.Customer. Vous devez charger ces données dans la table dbo.Customer. Comment généreriez-vous une déclaration d'insertion pour des données données dans Excel afin de pouvoir les charger dans DEV, QA, UAT et Production.

Solution :

Il existe plusieurs façons d'atteindre cette exigence. Vous pouvez d'abord utiliser l'assistant d'importation/exportation pour charger les données dans l'environnement de développement, puis générer un script d'insertion à partir de la table dans SSMS.

Si vous ne souhaitez pas charger les données dans la table, vous pouvez utiliser Excel formules pour générer une instruction Insert à partir des données.

Comment générer des instructions d'insertion à partir d'Excel pour SQL Server Table

Tout d'abord, nous devons savoir dans quelle table nous voulons charger les données. Dans notre cas, il s'agit de dbo.Customer. De plus, les noms des colonnes fournis dans Excel sont exactement les mêmes que nos colonnes de table dbo.Customer.
Allez dans n'importe quelle colonne et tapez cette formule comme indiqué ci-dessous dans la première ligne. J'ai tapé dans la colonne G.

="insert into dbo.Customer ("&A1&","&B1&","&C1&","&D1&","&E1&") Values"

Dans Excel, nous commençons la formule par =(égal au signe). Pour la concaténation, nous utilisons &. Pour ajouter une chaîne, nous devons mettre des guillemets doubles comme nous l'avons fait pour la virgule ",".

Comment générer des instructions d'insertion pour le tableau SQL Server à partir de données Excel

Maintenant, la première partie de notre instruction Insert est prête. nous devons générer la partie valeurs pour notre instruction d'insertion. Allez à la 2ème rangée et utilisez la formule ci-dessous.

="('"&A2&"','"&B2&"',"&C2&",'"&TEXT(D2,"dd/mm/yyyy") &"',"&E2&"),"

Faites-le glisser jusqu'au dernier enregistrement. Toutes les valeurs d'insertion seront générées. Copiez toutes les valeurs de la colonne G et collez-les dans SSMS. Il y aura une virgule supplémentaire (,) à la fin du dernier enregistrement. Supprimez-le et exécutez votre instruction d'insertion pour tester si elle fonctionne comme prévu.

Comment générer des instructions d'insertion à partir d'un fichier Excel pour la table SQL Server


Voici les instructions d'insertion générées, copiées à partir de la colonne G et collées dans SSMS.

Démonstration vidéo :comment générer une instruction d'insertion à partir d'enregistrements Excel pour la table SQL Server