Co se snažím udělat, je na základě hodnoty parametru vložit záznamy do různých tabulek.
Při zadání hodnoty parametru @PeriodType (nvarchar(15)), která může být ‚Měsíční‘ nebo ‚Denní‘ (a případně v budoucnu i další období).
Chci mít možnost provést následující:
*******************
IF @PeriodType = ‚Monthly‘
BEGIN
INSERT INTO Monthly_Summary_Data (Column_1, Column_2, atd.)
END
IF @PeriodType = ‚Daily‘
BEGIN
INSERT INTO Daily_Summary_Data (Column_1, Column_2, atd.)
END
SELECT (Value_1, Value_2, atd.)
FROM SourceTable
*******************
Naneštěstí se mi zdá, že dostávám chybu („Nesprávná syntaxe v blízkosti klíčového slova ‚END'“), protože INSERT a SELECT nelze oddělit (Tj. jeden z nich v rámci IF a druhý ne), ale pokud někdo ví, jak na to, budu opravdu vděčný za pomoc. Nechci duplikovat kód v příkazu SELECT pro každý z typů období, protože by to byla otrava na údržbu.
Hádám, že bych mohl vytvořit funkci s hodnotou tabulky, která by vracela výsledky příkazu Select, ale raději bych měl celý kód v rámci této jediné uložené procedury, pokud je to možné.