游标报错,帮忙看一下那里有写错
游标的语句如下:
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后面用的是列名,你用的是表名