日期:2014-05-17  浏览次数:20455 次

游标报错,帮忙看一下那里有写错
游标的语句如下:
DECLARE brpbomsoncursor SCROLL CURSOR
FOR SELECT Ainventory.cInvCode,Ainventory.Dec3
FROM Cbom LEFT JOIN Ainventory ON Cbom.cinvcode=Ainventory.cinvcode
FOR UPDATE OF Ainventory
OPEN brpbomsoncursor

DECLARE @row int
SET @row=@@CURSOR_ROWS /*得到记录集的记录数*/

WHILE @row >0
BEGIN 
DECLARE @gcinvcode varchar(50),@gdec3 decimal(18,4)
FETCH brpbomsoncursor INTO @gcinvcode,@gdec3
declare @dec3 decimal(18,4)
exec brpbomson @gcinvcode, @dec3 output
update Ainventory set Dec3=@dec3 where current of brpbomsoncursor

SET @row=@row-1
END

CLOSE brpbomsoncursor
Deallocate brpbomsoncursor

执行报错如下
消息 207,级别 16,状态 3,第 2 行
列名 'Ainventory' 无效。

不知道是那里写错了,请高人指点,非常感谢!

------解决方案--------------------
FOR UPDATE OF Ainventory
-》FOR UPDATE OF Dec3
------解决方案--------------------
FOR UPDATE OF Ainventory 
这一句中FOR UPDATE OF后面用的是列名,你用的是表名