奇怪的游标问题

schyu1314 2017-07-14 05:47:46
OrdersTemp表有5个字段,如下图



下面是存储过程中游标这一块的写法:

DECLARE @Product_Id VARCHAR(128) ,
@Supplier_Id VARCHAR(128),
@DateInProduced VARCHAR(10) ,
@Quantity INT;
DECLARE CUR_ORDER CURSOR
FOR
SELECT Product_Id, Supplier_Id, DateInProduced, Quantity
FROM OrdersTemp
ORDER BY Product_Id , DateInProduced DESC;

OPEN CUR_ORDER;
FETCH NEXT FROM CUR_ORDER INTO @Product_Id, @Supplier_Id, @DateInProduced, @Quantity
WHILE @@FETCH_STATUS = 0
BEGIN
-- 业务逻辑处理........



执行存储过程提示:
Cursorfetch: INTO 列表中声明的变量数目必须与所选列的数目相同。




但是当我去掉游标查询中的 Supplier_Id 字段,在运行就没有任何问题,能够正确执行。

请问我这个SQL语句该如何修改???
请大神们指点!!!
...全文
187 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 2017-07-14
  • 打赏
  • 举报
回复
引用 3 楼 z10843087 的回复:
[quote=引用 1 楼 sinat_28984567 的回复:] while里边的FETCH NEXT FROM CUR_ORDER INTO 怎么写的
你回答的很快[/quote] 还好还好……
OwenZeng_DBA 2017-07-14
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
while里边的FETCH NEXT FROM CUR_ORDER INTO 怎么写的
你回答的很快
OwenZeng_DBA 2017-07-14
  • 打赏
  • 举报
回复
这里看是没问题的,你是不是在while 里面的fetch 有问题
二月十六 版主 2017-07-14
  • 打赏
  • 举报
回复
while里边的FETCH NEXT FROM CUR_ORDER INTO 怎么写的

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧