Ich möchte eine gespeicherte Prozedur erstellen, die für jeden Tag in einem bestimmten Datumsbereich eine Zeile in einer Tabelle erstellt. Die gespeicherte Prozedur akzeptiert zwei Eingaben - Ein Startdatum und ein Enddatum des vom Benutzer gewünschten Datumsbereichs.
Nehmen wir also an, ich habe einen Tisch wie diesen:
SELECT Day, Currency
FROM ConversionTable
Tag ist eine DateTime und Währung ist nur eine ganze Zahl.
Nehmen wir zur Vereinfachung an, ich möchte immer, dass die Spalte Währung für jede dieser eingefügten Zeilen 1 ist. Wenn also jemand "5. März 2017" als Startdatum und "11. April 2017" als Enddatum eingibt, möchte ich die folgenden Zeilen erstellen:
2017-03-05 00:00:00, 1
2017-03-06 00:00:00, 1
...
2017-04-11 00:00:00, 1
Was ist der beste Weg, um die gespeicherte Prozedur zu codieren, um dies zu tun? Ich verwende SQL Server 2008 R2 in meiner Testumgebung, aber unsere reale Umgebung verwendet SQL Server 2012, sodass ich meinen Testcomputer aktualisieren kann, wenn 2012 neue Funktionen eingeführt wurden, die diese Aufgabe erleichtern.