CREATE PROCEDURE SP_ShowLeaveSummary
@start DATETIME
@end DATETIME
AS
BEGIN
SELECT a.EmployeeID,a.EmployeeName,ISNULL(b.LeaveCount,0) LeaveCount,
ISNULL(b.LeaveTotalHours,0) LeaveTotalHours,a.ALhours,DeptID
FROM TBL_EmployeeInfo a
LEFT JOIN (SELECT EmployeeID,COUNT(1) LeaveCount,SUM(Hours) LeaveTotalHours 
FROM TBL_LeaveInfo WHERE StartTime > @start AND EndTime < @end GROUP BY EmployeeID) b
        ON a.EmployeeID=b.EmployeeID
END 消息 102,级别 15,状态 1,过程 SP_ShowLeaveSummary,第 68 行
'@end' 附近有语法错误。
消息 137,级别 15,状态 2,过程 SP_ShowLeaveSummary,第 75 行
必须声明标量变量 "@start"。
请问如何改?

解决方案 »

  1.   

    CREATE PROCEDURE SP_ShowLeaveSummary
    @start DATETIME,
    @end DATETIME
    AS
    BEGIN
    SELECT a.EmployeeID,a.EmployeeName,ISNULL(b.LeaveCount,0) LeaveCount,
    ISNULL(b.LeaveTotalHours,0) LeaveTotalHours,a.ALhours,DeptID
    FROM TBL_EmployeeInfo a
    LEFT JOIN (SELECT EmployeeID,COUNT(1) LeaveCount,SUM(Hours) LeaveTotalHours 
    FROM TBL_LeaveInfo WHERE StartTime > @start AND EndTime < @end GROUP BY EmployeeID) b
            ON a.EmployeeID=b.EmployeeID
    END