存储过程,急?
为什么我的存储过程没有执行结果,也就是表中的记录没有被updata掉呀?
CREATE PROCEDURE LB_XL
(
@i_tabname varchar(30),
@i_bhzid varchar(8),
@i_mj varchar(30)
)
AS
DECLARE
@i_lb integer,
@c_lb varchar(20),
@i_bhz integer,
@sql1 nvarchar(400),
@sql2 nvarchar(600)
set @sql1='select @a=count(*) from '+@i_tabname+ ' where bhzid=' +@i_bhzid
exec sp_executesql @sql1,N'@a int output',@i_bhz output
IF(@i_bhz>=0)
BEGIN
select @i_lb=count(distinct A.name) from A where A.bhzid=@i_bhzid
WHILE @i_lb >0
BEGIN
set @c_lb =cast(@i_lb as varchar(20))
set @sql2= 'update A set '+@i_mj+'=isnull((select sum(ltarea) as area from '+@i_tabname+' where (lbid='+@c_lb+') and (bhzid='+@i_bhzid+')),0) where (name='+@c_lb+') and (bhzid='+@i_bhzid+')'
exec (@sql2)
set @i_lb=@i_lb - 1
END
END
GO