游标sql问题

时间:2015-10-18 14:36:15

标签: sql sql-server tsql cursor

为什么它不会显示多个结果?此外,我收到此错误消息"转换varchar值时转换失败' fetch_status'数据类型int"我的代码怎么了?

  Declare [plzwork] cursor
for 
Select * from [itsthegoodtable]

Where [Methodofpayment] = 'pd'

---open cursor

Open [plzwork]

Fetch next from [plzwork]

while 'fetch_status' = 0

fetch next from [plzwork]

close [plzwork]

deallocate [plzwork]

1 个答案:

答案 0 :(得分:0)

您的while条件是将包含“fetch_status”的字符串与整数进行比较。也许你的意思是:

while fetch_status = 0

您的代码看起来像SQL Server。在这种情况下,你想要:

while @@FETCH_STATUS = 0

我还强烈建议您正确缩进代码,并在begin周围使用end / while来防止意外错误。