我有一个嵌套的 if 语句存储过程,但它给了我错误:
消息 102,级别 15,状态 1,过程 SPCRMDoctorRequestList,第 28 行
“DR”附近的语法不正确。
(这是在第二个 if 语句的 else 部分)
这是我的存储过程:
CREATE PROCEDURE [dbo].[SPCRMList]
@Records INT,
@Type VARCHAR(10), /*Recent, Priority, Pending, Approved*/
@ViewType VARCHAR(10) /*Dashboard, List*/
AS
BEGIN
SET NOCOUNT ON
IF (@Type = 'Recent')
BEGIN
IF(@ViewType = 'Dashboard')
BEGIN
Select top (@Records)
DR.Id AS Id, /*Unique ID*/
USERS.USERNAME AS Requester_Name, /*Employee Name*/
ST.ServiceName AS Service_Type_Name, /*Nature of Service*/
DR.Date_Created AS Date_Created /*Created Date*/
From [Doctor_Request] AS DR
JOIN [ASES].[dbo].[USERS] AS USERS
ON DR.Requester COLLATE SQL_Latin1_General_CP1_CI_AS = USERS.RID COLLATE SQL_Latin1_General_CP1_CI_AS
JOIN [SERVICE_TYPE] AS ST
ON DR.Service_Type_Id=ST.Id
WHERE DR.Is_Deleted=0
ORDER BY DR.Date_Created DESC
END
ELSE IF (@ViewType = 'List')
BEGIN
Select top (@Records)
DR.Id AS Id, /*Unique ID*/
USERS.USERNAME AS Requester_Name, /*Employee Name*/
ST.ServiceName AS Service_Type_Name, /*Nature of Service*/
DR.Date_Created AS Date_Created /*Created Date*/
DR.State AS State /*State of Request*/
DR.Deadline AS Deadline /*Deadline of request*/
From [Doctor_Request] AS DR
JOIN [USERS] AS USERS
ON DR.Requester COLLATE SQL_Latin1_General_CP1_CI_AS = USERS.RID COLLATE SQL_Latin1_General_CP1_CI_AS
JOIN [SERVICE_TYPE] AS ST
ON DR.Service_Type_Id=ST.Id
WHERE DR.Is_Deleted=0
ORDER BY DR.Date_Created DESC
END
END