Tb_Grade表
GradeName,Si_Min,Si_Max
L04 O.023 0.0456
L08 0.457 0.88
...........还有其它数据本人现在想写一个存储过程定义一个参数@Si 然后给@Si赋值,然后把@Si于Tb_Grade表中的Si_Min,Si_Max比较,如果@Si 刚好在某条记录的最小值(Si_Min)于最大值(Si_Max)之间,把该条记录的GradeName(等级名称)取出来。
请问该存储过程什么写!本来在线等
GradeName,Si_Min,Si_Max
L04 O.023 0.0456
L08 0.457 0.88
...........还有其它数据本人现在想写一个存储过程定义一个参数@Si 然后给@Si赋值,然后把@Si于Tb_Grade表中的Si_Min,Si_Max比较,如果@Si 刚好在某条记录的最小值(Si_Min)于最大值(Si_Max)之间,把该条记录的GradeName(等级名称)取出来。
请问该存储过程什么写!本来在线等
---创建存储过程
Create Procedure SP_Tb_Test
@si Decimal(10,4)
As
Set NoCount On
Begin
Select * From (
Select Case When @si>Si_Min And @si<Si_Max Then GradeName End As GradeName
From Tb_Grade) As T
Where GradeName Is Not Null
End
Go---调用存储过程
Exec SP_Tb_Test 0.5
if exists(select * from Tb_Grade where @si between si_min and si_max)
select gradename from tb_grade where @si between si_min and si_max
set @si=值 --给@si赋值
if exists(select * from Tb_Grade where @si between si_min and si_max)
select gradename from tb_grade where @si between si_min and si_max
from Tb_Grade
where @ > si_min and @ <= si_max