Sql Msg 137,15级,状态2,程序id_管理,第13行必须声明标量变量@“合并”;

Sql Msg 137,15级,状态2,程序id_管理,第13行必须声明标量变量@“合并”;,sql,stored-procedures,Sql,Stored Procedures,VARCHAR(300)后面是否有额外的括号存储过程不是标准SQL的一部分。您应该回答您的问题并添加一个标记,指示您正在使用的DBMS。是SQL Server吗?还有,你的问题不清楚。您的存储过程编译失败吗?您发布的代码不会在标题中显示错误消息。它的错误远远早于此。正如JShark指出的,第5行有一个附加的右括号。此外,第6行上的set语句无效。你不能做set@variable=concat(t1.column,t2.column,…)至少你需要修正你的问题,至少包括实际导致错误的代码。 CRE

VARCHAR(300)后面是否有额外的括号

存储过程不是标准SQL的一部分。您应该回答您的问题并添加一个标记,指示您正在使用的DBMS。是SQL Server吗?还有,你的问题不清楚。您的存储过程编译失败吗?您发布的代码不会在标题中显示错误消息。它的错误远远早于此。正如JShark指出的,第5行有一个附加的右括号。此外,第6行上的set语句无效。你不能做
set@variable=concat(t1.column,t2.column,…)
至少你需要修正你的问题,至少包括实际导致错误的代码。
CREATE PROCEDURE id_management
AS 
BEGIN
  DECLARE @SDOW DATETIME
  DECLARE @COMBINE VARCHAR(300))
  SET @COMBINE = (CONCAT(DealerAddMrv.CreationDate,DealerAddHist.mnmUserType,DealerAddMrv.mnmUserStatus,DeletedDealerAddHist.DelSourceUserId,DeletedDealerAddMrv.DelDtTime As AppID_Status))
  SET @SDOW= (SELECT DATEADD(DAY, 2 - DATEPART(WEEKDAY, GETDATE()), CAST(GETDATE() AS DATE)))

PRINT @SDOW
 SELECT UserInOut.mnmUser as AppID_ID,DealerAddMrv.mnmRole as AppID_Type,DealerAddMrv.mnmUserName
 as AppID_Name,UserInOut.mnmUserAccessType as Access_Type,
 DealerAddMrv.mnmUserName as AppID_Implemented_By
,'IND' as Access_Country,UserInOut.DtTime as AppID_Implemented_TimeStamp,DealerAddMrv.mnmUserStatus As AppID_Status,@COMBINE FROM "dbo"."UserInOut" 
INNER JOIN "dbo"."DealerAddMrv"
on "DealerAddMrv"."mnmUser" = "UserInOut"."mnmUser" 
INNER JOIN "dbo"."DealerAddHist" 
on "DealerAddHist"."mnmUser" = "DealerAddMrv"."mnmUser"
INNER JOIN "dbo"."DeletedDealerAddHist" 
on "DeletedDealerAddHist"."DelSourceUserId" = "DeletedDealerAddMrv"."DelSourceUserId"
order by "UserInOut"."mnmUser"
where UserInOut.DtTime >= @SDOW
END
GO