在线等,高手们快来!

烟灰洒落键盘 2010-11-09 11:34:44
数据库的表结构如下:
CONSIGNMENT_ID varchar(20) 主键
KEY_NO varchar(25)
OB_NO varchar(20)
ORDER_NO varchar(20)主键
LINE_ITEM varchar(10)主键
PART_NO varchar(20)
VER varchar(3)
QTY int
SCANNED_QTY int
CURR_VERSION datetime

需要实现的功能:
步骤1.外部输入一个@ScanQty,新建一个游标DECLARE CustomerCursor CURSOR FOR SELECT QTY FROM SAP_ADMIN.CONSIGNMENT_ORDER_TAB WHERE SCANNED_QTY<QTY
open CustomerCursor fetch next from CustomerCursor into @Qty
步骤2.@ScanQty和@QTY对比,如果@ScanQty<@QTY,则将对应的信息插入到这个表中,并将SCANNED_QTY的值为@ScanQTY;退出
步骤3.如果@ScanQty>@QTY,则将对应的信息插入到这个表中,并将SCANNED_QTY的值为@QTY;
步骤4.设置@ScanQty=@ScanQty-@QTY,转移游标到下一条
步骤5.重复步骤2和步骤3
...全文
92 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanjing713 2010-11-09
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20101109/10/3dac7c76-fcda-41ca-9a5f-a6b3a3f9c47b.html?seed=887456684&r=69715156#r_69715156
高手些你好 !帮我看看这个存储过程咋写啊 ··········
coleling 2010-11-09
  • 打赏
  • 举报
回复
你这不写得差不多了么?还问什么呢

create proc spname
(
@ScanQty int
)
as
begin
declare @Qty int
DECLARE CustomerCursor CURSOR FOR
SELECT QTY FROM SAP_ADMIN.CONSIGNMENT_ORDER_TAB WHERE SCANNED_QTY<QTY
open CustomerCursor
fetch next from CustomerCursor into @Qty
while @@fetch_status=0
begin
if @ScanQty <= @Qty
begin
insert into SAP_ADMIN.CONSIGNMENT_ORDER_TAB(SCANNED_QTY, ...)
values(@ScanQty, ...)
return
end
else
begin
insert into SAP_ADMIN.CONSIGNMENT_ORDER_TAB(SCANNED_QTY, ...)
values(@Qty, ...)
set @ScanQty = @ScanQty-@Qty
end

fetch next from CustomerCursor into @Qty
end
end

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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