Ce încerc să fac este ca, pe baza unei valori de parametru, să inserez înregistrări în diferite tabele.
Dată o valoare de parametru @PeriodType (nvarchar(15)) care poate fi ‘Monthly’ sau ‘Daily’ (și, potențial, alte perioade în viitor).
Vreau să pot face următoarele:
*******************
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
*******************
Din păcate, cred că primesc o eroare („Incorrect syntax near the keyword ‘END'”) deoarece INSERT și SELECT nu pot fi separate (adică una dintre ele în cadrul unui IF și cealaltă nu), dar dacă cineva știe cum să facă acest lucru aș aprecia foarte mult ajutorul. Nu vreau să fiu nevoit să dublez codul din instrucțiunea SELECT pentru fiecare dintre tipurile de perioade, deoarece ar fi o pacoste de întreținut.
Cred că aș putea crea o funcție în valoare de tabel pentru a returna rezultatele instrucțiunii Select, dar aș prefera să am tot codul în cadrul acestei singure proceduri stocate, dacă este posibil.
.