读书人

这个存储过程怎么实现

发布时间: 2013-10-21 17:00:48 作者: rapoo

这个存储过程如何实现?
平时写在程序的方便。是使用for每一行记录,进行每一行的统计。


A B C
1 100 0.5
2 100 0.3

我要在存储过程中使用for

其他语句是这样的。

float sum;
for( i = 0; i < 记录数; i++)
{
if( $row[i].C == 0.3 )
{
sum = 100 * 0.3 * 30;
}
if( $row[i].C > 0.3 )
{
sum = 100 * 0.3 * 59;
}
}
[解决办法]
select *,
case when c=0.3 then b*c*30
when c>0.3 then b*c*59
else
--<0.3 do
end
from tb
[解决办法]
for写法在TSQL里对应的是游标.
[解决办法]

引用:
Quote: 引用:

一行一行处理,效率相对比较低。


条件太多,无法不一行一行来做。计算拥的,有10个级别,要不同的级别不同计算方式


条件多没关系,在sql语句里,通过case when的条件判断,就可以实现的。

读书人网 >SQL Server

热点推荐