我有两个冗余代码的存储过程。SP 将根据从中选择的表而有所不同。我想结合这两个SP。请帮忙。
主要的SP是:
CREATE PROCEDURE [dbo].[spGetEmployeesBySearchString]
-------------
-------------
@OtherListType_ID INT
@manager_employee_number VARCHAR(255)
-------------
-------------
DECLARE @IsGetFullTeamUnderManager bit=0
IF (@OtherListType_ID=3 AND @manager_employee_number IS NOT NULL)
SET @IsGetFullTeamUnderManager = 1
IF (@IsGetFullTeamUnderManager=1)
BEGIN
EXEC spFullTeamUnderManager <<Parameters>>
RETURN
END
SELECT e.a,e.b,e.c,e.d,......
FROM Employee emp
INNER JOIN .....
WHERE ..........
第二个存储过程是:
CREATE PROCEDURE [dbo].[spFullTeamUnderManager]
-------------
-------------
-------------
SELECT e.a,e.b,e.c,e.d,......
FROM dbo.fnFullTeamUnderManager(@manager_employee_number) emp
INNER JOIN .....
WHERE ..........
在主 SP 中,基于 @OtherListType_ID 的值,我调用了第二个 SP。但是两个存储过程中的 select 语句、连接条件和 where 条件保持不变。我需要删除多余的代码。请帮忙。