sql - 使用存储过程的最后一行中的单个值插入新行
问题描述
请参阅下面的屏幕截图。
我正在尝试在 SQL Server 2014 中创建一个执行以下操作的存储过程:
将 LAST 记录(例如第 #1062 行)中的“完成”位设置为TRUE
从 LAST 记录中获取“ DateTo ”值(以黄色突出显示)并将其插入到新行的“ DateFrom ”列中。
这应该是所有需要的,因为其他列(BatchID、DateTo、Complete)会自动填充。
任何帮助将不胜感激!
解决方案
你需要两个陈述。首先更新最新行,然后插入新行:
with cte as (select top (1) complete from billing_batch order by dateto desc)
update cte set complete = 1;
insert into billing_batch (datefrom)
select max(dateto)
from billing_batch;
推荐阅读
- javascript - 为什么我在组件中导入的 js 不起作用?
- azure - 在下一步中使用 Powershell 变量作为输入
- html - 将徽标图像添加到 rails 中的引导导航栏
- google-app-engine - 如何阻止用户查看我在谷歌应用引擎上托管的反应应用暂存环境?
- mysql - 在 MySql 中使用 were 子句进行批量插入
- java - 在类路径上有多个 servlet-api 库时出错
- javascript - 在 d3 库中的可缩放圆包图中添加边
- php - 如何删除字符串中两行之间的特定换行符而不删除其他换行符?php
- javascript - Nuxt 来自 api 的动态路由
- apache-kafka - 使用 localstack 测试 kafka 应用程序