使用存储过程中最后一行的单个值插入新行
Insert a NEW Row using a Single Value from LAST row with Stored Procedure
请参考下面的屏幕截图。
我正在尝试在 SQL Server 2014 中创建一个存储过程来执行以下操作:
将最后一条记录(例如第 1062 行)中的“Complete”BIT 设置为 TRUE
从最后一条记录(以黄色突出显示)中获取“DateTo”值并将其插入到“DateFrom" 新行中的列。
这应该是所有需要的,因为其他列(BatchID、DateTo、Complete)是自动填充的。
如有任何帮助,我们将不胜感激!
这是你想要的吗?
update t
set complete = 1
from (select top (1) t.*
from t
order by datefrom desc
) t;
然后:
insert into t (datefrom, complete)
select top (1) dateto, 0
from t
order by datefrom desc;
你需要两个声明。首先更新最新行,然后插入新行:
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;
请参考下面的屏幕截图。
我正在尝试在 SQL Server 2014 中创建一个存储过程来执行以下操作:
将最后一条记录(例如第 1062 行)中的“Complete”BIT 设置为 TRUE
从最后一条记录(以黄色突出显示)中获取“DateTo”值并将其插入到“DateFrom" 新行中的列。
这应该是所有需要的,因为其他列(BatchID、DateTo、Complete)是自动填充的。
如有任何帮助,我们将不胜感激!
这是你想要的吗?
update t
set complete = 1
from (select top (1) t.*
from t
order by datefrom desc
) t;
然后:
insert into t (datefrom, complete)
select top (1) dateto, 0
from t
order by datefrom desc;
你需要两个声明。首先更新最新行,然后插入新行:
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;