想请一下存储过程,我不怎么会写,麻烦会写的,帮一下忙,我写的这个,大家帮我改一下,谢谢。
表A
字段A 字段B
5 E1
表B
字段A 字段B
OK E1
OK E1
OK E1
OK E2
OK E3
存储过程实现功能
我传了一个'E1'过来
select 字段A from 表A where 字段B='E1' 字段A是5
select Count(字段A) from 表B where 字段B='E1' 字段A是3
最后的结果为:2 5-3=2
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 @paramAvailableDays=@paramType2VactionCount-@paramType2UsedVacation
return @paramAvailableDays
end
------解决方案--------------------
这个一定要求用存储过程吗,一句sql就可以查出来
你写的存储过程,好几个变量都没定义啊
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