关于存储过程的并行问题
Salif 2003-03-24 03:26:15 小弟编写了一个存储过程要在C/S架构下运行,代码部分如下,请问如果很多人同时调用这个存储过程,此存储过程是否有缺陷,是否自己要加上封锁机制,如何实现?谢谢!
DECLARE @OfcostUsdp money, @OfcostRmbp money,@OfcostUsdc money,
@CntbgcmUsdp money,@CntbgcmRmbp money
select @OfcostUsdp = 0,@OfcostRmbp = 0,@OfcostUsdc= 0,
@CntbgcmUsdp = 0,@CntbgcmRmbp = 0
DECLARE TY_Cursor CURSOR FOR
select fylb,pc,bb,isnull(sum(zj),0) as sumzj from ys_yf where ly ='X' + @contser
group by fylb,pc,bb
open TY_Cursor
FETCH NEXT FROM TY_Cursor into @fylb,@pc,@bb,@sumzj
while @@fetch_status=0
begin
if @fylb = "f" and @pc= "P" and @bb = "USD"
select @OfcostUsdp=@sumzj
if @fylb = "f" and @pc= "P" and @bb = "RMB"
select @OfcostRmbp=@sumzj
if @fylb = "f" and @pc= "C" and @bb = "USD"
select @OfcostUsdc=@sumzj
if @fylb = "d" and @pc= "P" and @bb = "USD"
select @CntbgcmUsdp=@sumzj
if @fylb = "d" and @pc= "P" and @bb = "RMB"
select @CntbgcmRmbp=@sumzj
FETCH NEXT FROM TY_Cursor into @fylb,@pc,@bb,@sumzj
end
CLOSE TY_Cursor
DEALLOCATE TY_Cursor