Synopsis: Comment écrire le code SQL pour insérer un enregistrement d'un fichier plat dans des enregistrements distincts à insérer dans une table SQL Server.
Spécificités: J'ai une table pour enregistrer les paiements de location. Pour chaque contrat de location, la date d'échéance est toujours le premier jour du mois. Il y a une entrée dans la table pour chaque mois de la durée du bail. Pour simplifier, disons qu'il y a un contrat de location qui va du 1er septembre 2019 au 31 août 2020. La table ressemblerait à ceci:
+------------------------------------------------------+
| ID_CONTRAT | DATE_ECHEANCE | ID_FACTURE | MONTANT_LOYER |
+-------------+-------------+------------+-------------+
| 12345 | 1/9/2019 | | |
+-------------+-------------+------------+-------------+
| 12345 | 1/10/2019 | | |
+-------------+-------------+------------+-------------+
...
+-------------+-------------+------------+-------------+
| 12345 | 1/8/2020 | | |
+-------------+-------------+------------+-------------+
Les factures sont normalement pour un mois calendaire, mais parfois il peut y en avoir deux ou trois parce que le fournisseur est en retard. Les données sont reçues dans un fichier plat, un exemple ressemblerait à ceci:
Contrat Période de location De la Date Période de location À la Date Numéro de Facture Montant
31125 1/9/2019 30/9/2019 6378 400,00 (scénario standard)
12345 1/9/2019 30/11/2019 789 150,00 (scénario multi-mois)
Les données du fichier plat doivent être stockées dans trois enregistrements distincts dans la table:
+------------------------------------------------------+
| ID_CONTRAT | DATE_ECHEANCE | ID_FACTURE | MONTANT_LOYER |
+-------------+-------------+------------+-------------+
| 12345 | 1/9/2019 | 789 | 50,00 |
+-------------+-------------+------------+-------------+
| 12345 | 1/10/2019 | 789 | 50,00 |
+-------------+-------------+------------+-------------+
| 12345 | 1/11/2019 | 789 | 50,00 |
+-------------+-------------+------------+-------------+
Merci d'avance.