Quello che sto cercando di fare è basato su un valore di parametro per inserire record in diverse tabelle.
Dato un valore di parametro @PeriodType (nvarchar(15)) che può essere ‘Monthly’ o ‘Daily’ (e potenzialmente altri periodi in futuro).
Voglio poter fare quanto segue:
*******************
IF @PeriodType = ‘Monthly’
BEGIN
INSERT INTO Monthly_Summary_Data (Column_1, Column_2, etc.)
END
IF @PeriodType = ‘Daily’
BEGIN
INSERT INTO Daily_Summary_Data (Column_1, Column_2, etc.)
END
SELECT (Value_1, Value_2, etc.)
FROM SourceTable
*******************
Purtroppo penso che sto ottenendo un errore (“Sintassi non corretta vicino alla parola chiave ‘END'”) perché l’INSERT e SELECT non possono essere separati (cioè uno di loro all’interno di un IF e l’altro no) ma se qualcuno sa come fare questo apprezzerei molto un aiuto. Non voglio dover duplicare il codice nell’istruzione SELECT per ogni tipo di periodo perché sarebbe un dolore da mantenere.
Immagino che potrei creare una funzione con valore di tabella per restituire i risultati dell’istruzione Select ma preferirei avere tutto il codice all’interno di questa singola stored procedure se possibile.