ALTER VERFAHREN [dbo]. [sp_sales_in_period]
(@month_id int)
WIE
der nvarchar Angestellte (50), Verkäufe erklären @t Tabelle (1.1) Primärschlüssel (der Identifikation-schwimmen int Identität, MonthID int, EmployeeID int, DateEntered Datum/Uhrzeit)
@employee_id int erklären
Kanaille-Cursor fast_forward für read_only erklären (auserwähltes EmployeeID vom vSalesEmployeeList)
@max int erklären
@max einstellen = 13
@month_id = @month_id-3 einstellen
Kanaille öffnen
zunächst von der Kanaille in @employee_id holen
während @@fetch_status = 0
anfangen
@month_id = @month_id+1 einstellen
während @month_id <= @month_id + @max
anfangen
@t einsetzen
VORWÄHLEN
a.MonthID,
e.EmployeeID,
e.Employee,
ISNULL (a.Actual, 0) ALS Verkäufe,
a.DateEntered
VON dbo.tblSales ALS INNERES VERBINDEN
dbo.vSalesEmployeeList ALS e AUF a.EmployeeID = e.EmployeeID
WO (a.MonthID = @month_id)
UND (a.EmployeeID = @employee_id)
UND (
a.DateEntered =
(AUSERWÄHLTES max (DateEntered) ALS Expr1 VON dbo.tblSales als p, WO (p.MonthID = @month_id) UND (p.EmployeeID = @employee_id))
)
AUFTRAG DURCH a.MonthID, a.DateEntered
Ende
zunächst von der Kanaille in @employee_id holen
Ende
nahe Kanaille
Kanaille freigeben
auserwähltes MonthID, EmployeeID, Angestellter, Verkäufe, DateEntered anfangen vom @t Auftrag durch MonthID, Angestelltende
|