Yritän parametrin arvon perusteella lisätä tietueita eri taulukoihin.
Valitaan parametrin arvo @PeriodType (nvarchar(15)), joka voi olla ’Kuukausittainen’ tai ’Päivittäinen’ (ja mahdollisesti muitakin ajanjaksoja tulevaisuudessa).
Haluan pystyä tekemään seuraavaa:
*******************
IF @PeriodType = ’Kuukausittainen’
BEGIN
INSERT INTO Kuukausittainen_yhteenvetotieto (Sarake_1, Sarake_2, jne.)
END
IF @PeriodType = ’Daily’
BEGIN
INSERT INTO Daily_Summary_Data (Column_1, Column_2, jne.)
END
SELECT (Value_1, Value_2, jne.)
FROM SourceTable
*******************
Valitettavasti luulen, että saan virheen (”Virheellinen syntaksi lähellä avainsanaa ’END'”), koska INSERTia ja SELECTia ei voi erottaa toisistaan (ts. toinen niistä on IF:n sisällä ja toinen ei), mutta jos joku tietää, miten tämä onnistuu, olisin todella kiitollinen avusta. En halua kopioida SELECT-lauseen koodia jokaiselle jaksotyypille, koska se olisi hankalaa ylläpitää.
Voin kai luoda taulukkoarvoista funktiota palauttamaan Select-lauseen tulokset, mutta haluaisin mieluummin kaiken koodin tähän yhteen tallennettuun proseduuriin, jos mahdollista.