Azzal próbálkozom, hogy egy paraméterérték alapján rekordokat illesszek be különböző táblákba.
Adott egy @PeriodType (nvarchar(15)) paraméterérték, amely lehet ‘Havi’ vagy ‘Napi’ (és potenciálisan más időszakok a jövőben).
A következőket szeretném tudni:
*******************
IF @PeriodType = ‘Havi’
BEGIN
INSERT INTO Monthly_Summary_Data (Column_1, Column_2, stb.)
END
IF @PeriodType = ‘Daily’
BEGIN
INSERT INTO Daily_Summary_Data (Column_1, Column_2, stb.)
END
SELECT (Value_1, Value_2, stb.)
FROM SourceTable
*******************
Sajnos azt hiszem, hogy hibát kapok (“Incorrect syntax near the keyword ‘END'”), mert az INSERT és a SELECT nem választható szét (azaz az egyiket egy IF-en belül, a másikat nem), de ha valaki tudja, hogyan kell ezt csinálni, nagyon megköszönném a segítséget. Nem akarom, hogy meg kell duplikálni a kódot a SELECT utasítás minden egyes időszak típusok, mint ez lenne egy fájdalom fenntartani.
Gondolom, tudnék létrehozni egy táblázat értékű függvényt, hogy visszaadja az eredményeket a Select utasítás, de jobban szeretném, hogy az összes kódot ebben az egyetlen tárolt eljáráson belül, ha lehetséges.