sql先进先出在回退的问题

dengixnyu dengixnyu 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
有没有sql高手知道 当数据库先进先出之后,然后在回退到初始态怎么写?
意思就是如下就是先进先出的存储过程
ALTER proc [dbo].[wsp]
@wlcode nvarchar(50),--物料编号
@cost int --出库量
as
--先得出该货物的库存是否够
declare @spare float --剩余库存
select @spare= sum(inqty)-sum(foutqty) from a074 where materialcode=@wlcode
if(@spare>=@cost)
begin
--根据入库id采用先进先出原则对货物的库存进行处理
update a074 set foutqty=
case when (select @cost-isnull(sum(inqty),0)+isnull(sum(foutqty),0) from a074 where materialcode=@wlcode and mxid<=a.mxid and inqty!=foutqty)>=0
then a.inqty
else
case when (select @cost-isnull(sum(inqty),0)+isnull(sum(foutqty),0) from a074 where materialcode=@wlcode and mxid<a.mxid and inqty!=foutqty)<0
then 0
else (select @cost-isnull(sum(inqty),0)+isnull(sum(foutqty),0)+a.foutqty from a074 where materialcode=@wlcode and mxid<a.mxid and inqty!=foutqty)
end
end
from a074 a where materialcode=@wlcode and inqty!=foutqty
end
else
raiserror('库存不足',16,1)
return

,当用户在界面上点击保存的时候,我会从上往下修改sql出库数量,但是这个时候用户点击删除了。怎么把刚修改的结果又回退到修改之前呢? 求高手指点。(有点类是后进先出),在网上找了好久,都没找到办法。或者谁有更好的办法代替我原来的想法。
...全文

相关推荐

Oracle回退sql语句

"Oracle回退SQL语句是用于撤销对数据库进行的更改操作,通常在错误发生或需要恢复到之前状态时使用。本资源主要展示了创建表、插入数据以及创建唯一索引的Oracle SQL语法。"在Oracl

qq_42355640

程序员面试技巧系列:面试中的大厂经验

作者:禅与计算机程序设计艺术 1.背景介绍 近年来,计算机编程语言、数据结构、算法、数据库、操作系统等多个领域都产生了很多新的技术,而面试技巧也随之增多。这些技术经过长时间积累,逐渐形成了一套庞大的知识体系。然而,相比于普通工科生或本科生,程序员面试中存在着一些特殊性和困难。本文将主要讨论程序员面试

DeepThink.ai

37、Azure数据存储、混合解决方案与安全治理全解析

本文全面解析了Azure的数据存储与混合解决方案,涵盖SQL与NoSQL数据库对比、Azure各类存储服务(如Blob、队列、表、文件)、数据冗余与备份机制,以及混合安全和网络架构设计。通过实际应用场景分析与实施步骤,帮助读者构建高效、安全、可扩展的云架构体系,助力企业数字化转型。

moon

数据结构课程设计病人看病系统

通过这个项目,学生可以提高自己的编程技能,并对实际问题的解决方案有更深入的理解。

zhengjie310

Linux 可在oracle库、asmcmd、rman、中命令回退、历史记录等。

在ASMCMD中,虽然不像SQL*Plus那样直接提供命令回退功能,但通过细心记录每一步操作,并在必要时撤销最后的ASM配置更改,可以实现类似的效果。

Somone-Q
评论 10
收藏 已收藏
分享
返回顶部
dengixnyu
应用实例 27,579 成员 68,540 内容