改一下
CREATE PROCEDURE PROC_Test
@paramType int,
@param1 varchar,
@param2 int output,
@paramEmp varchar
if paramType=2
begin
declare @param3 int
declare @param4 int
select @param3 from 表A where 字段B=@paramEmp
select @param4 = Count(字段A) from 表B where 字段B=@paramEmp
set @param2 =@param3 -@param4
return @param2
end
CREATE PROCEDURE PROC_Test
@paramType int,
@param1 varchar,
@param2 int output,
@paramEmp varchar
if paramType=2
begin
declare @param3 int
declare @param4 int
select @param3 from 表A where 字段B=@paramEmp
select @param4 = Count(字段A) from 表B where 字段B=@paramEmp
set @param2 =@param3 -@param4
return @param2
end
你写的存储过程,好几个变量都没定义啊CREATE PROCEDURE PROC_Test
@paramType int,
@param1 varchar,
@param2 int output,
@paramEmp varchar,
@paramAvailableDays int output
as
declare @paramType2VactionCount int
declare @paramType2UsedVacation int
if paramType=2
begin
select @paramType2VactionCount = 字段A from 表A where 字段B=@paramEmp
select @paramType2UsedVacation= Count(字段A) from 表B where 字段B=@paramEmp
set @paramAvailableDays=@paramType2VactionCount-@paramType2UsedVacation
end
这只是其中的一个分支,有很多paramType要判断的。觉得存储过程可能会好一些。