首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置和获取相同的SELECT语句,或复杂的简单数学

设置和获取相同的SELECT语句,或复杂的简单数学
EN

Stack Overflow用户
提问于 2016-06-24 19:59:50
回答 1查看 63关注 0票数 0

我的脚本生成用于测试的更新脚本。

在这句话中,我需要的是

代码语言:javascript
复制
SELECT 'Update script', @PreviousBalance = @PreviousBalance - @CorrectPrice
FROM table
WHERE column = @Value
  1. **这里的逻辑顺序
  2. 我有一个帐户的原始余额
  3. 减去交易金额
  4. (生成)插入交易金额和新余额 将新余额存储为旧余额**

但是自从'A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations.'‘之后,我需要一些其他的方法来做到这一点。我的任务是迭代一些初始值,并更新事务日志。因此,每次@CorrectPrice必须从@PreviousBalance中减去。

想法?

实际查询:

代码语言:javascript
复制
SELECT 'UPDATE table 
            SET Amount = ' + CAST(@CorrectPrice as nvarchar(50)) + 
            ', SET CurrentValueUsed = ' + CAST((@PreviousBalance - @CorrectPrice) as nvarchar(50)) + '
            WHERE UsageId = ' + CAST(UsageId as nvarchar(50)) as 'UpdateQueriesToRun'
        FROM table
        WHERE ContractId = @ContractID AND
            DateActive IN (SELECT DateActive
                FROM table
                WHERE ContractId = @ContractID)
        ORDER BY DateActive ASC
EN

回答 1

Stack Overflow用户

发布于 2016-06-24 22:24:59

如果我理解这个问题,您必须更新并保存更新的前一个值。

如果这是正确的,您可以创建一个带有键字段的日志表、一个日期时间字段(在更新值时设置)、一个用于前一个余额值的feild以及一个具有新余额值的字段。

然后,您可以在要更新的表上创建更新触发器,使用该触发器,您可以在日志表上写入正在更改的值。

希望这个解决方案能帮到你!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38021214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档