同一张表内、利用变化的上一行数据动态地修改下一行数据(示例Demo)

原创 2007年10月09日 18:50:00
  --同一张表内、利用变化的上一行数据动态地修改下一行数据(示例Demo)

/**//*
CREATE TABLE Account (        
    [Month] [datetime] NOT NULL Prmary Key,
    [PlanFare] [money] NULL ,
    [PutoutFare] [money] NULL ,
    [PlanPreFare] [money] NULL ,
    [PutoutPreFare] [money] NULL 
)  --Account表生成脚本
*/


select identity(int,1,1as [id],* into # from account order by [month] asc

CREATE TABLE #Temp (
        
[id] [int]  NOT NULL,
    
[Month] [datetime] NOT NULL ,
    
[PlanFare] [money] NULL ,
    
[PutoutFare] [money] NULL ,
    
[PlanPreFare] [money] NULL ,
    
[PutoutPreFare] [money] NULL 
)

declare @id int
declare m cursor for select [id] from # order by [id] asc
open m
fetch next from m into @id
while (@@fetch_status=0)
begin
  
insert into #Temp([id],[Month], PlanFare, PutoutFare, PlanPreFare, PutoutPreFare)
  
select [id],[Month], PlanFare, PutoutFare, PlanPreFare, PutoutPreFare from # where [id]=@id

  
UPDATE #
  
SET #.PlanPreFare = (a.PlanFare - a.putoutFare) + (a.PlanPreFare - a.putoutPreFare)
  
FROM #Temp AS a
  
WHERE #.[id] = a.[id]+1
  
--前行作依据,后行来修改(此次的后行,变成下次的前行,依此循环,直至表中的行遍历结束)
  truncate table #Temp  
  
fetch next from m into @id
end
close m
deallocate m


UPDATE Account
SET Account.PlanPreFare = a.PlanPreFare
FROM # AS a
WHERE Account.[Month] = a.[Month]


drop table # 
drop table #Temp
 

 

调用EasyUI控件实现下拉框选值切换DataGrid中的记录

廊坊组织部的年终绩效考核系统,用户想在下面这个页面加上一个下拉框,筛选手误录入错误的数据,接手10天,终于实现这一需求,豁然开朗!         刚调代码时,庞然一个系统摆在面前,...
  • u012407484
  • u012407484
  • 2016年01月24日 23:31
  • 2484

用jquery代码实现表格行列的增删操作(每行编号随之修改)

目标效果: 1.点击addRow按纽实现行的增加,并且编号连续呈増序。 2.点击deleteRow按纽实现行的删除,并且被删行对象后面的行编号与被删对象前面的行编号能连贯起来。(下示例从上...
  • felixkiki
  • felixkiki
  • 2016年01月03日 22:14
  • 2139

RecyclerView系列(五)item显示列数切换

RecyclerView item显示列数切换
  • nsacer
  • nsacer
  • 2017年06月20日 23:25
  • 1409

Android横向动态加载数据一行

  • 2013年11月14日 11:37
  • 1.33MB
  • 下载

Java大牛养成记——一条SQL语句更新同一张表中的两条数据

背景:项目中的需求是这样的:一堆图片中只有一张图片的状态是“启用”的,其他图片的状态是“未启用”。点击某张图片下面的启用按钮,这张图片的状态为“启用”,同时其他图片的状态修改为“未启用”。想象一下这个...
  • u013043341
  • u013043341
  • 2017年02月19日 23:04
  • 876

javascript动态添加一行数据和删除数据

  • 2013年10月28日 11:53
  • 1KB
  • 下载

SqlServer 触发器 A表中插入一行数据后动态在B表中插入A表中计算后数据

表t_mydata 的列定义如下: int   id  ,int   station_id, datetime data_time,float LJLL 示例数据: 13911834   1  ...
  • lishiming0308
  • lishiming0308
  • 2012年08月20日 16:56
  • 1787

easyUI 中datagrid控件demo,包括选中一行能读取到数据

当上方点击时,下方显示所有详细信息,要利用datagrid的onClickRow方法,此方法自带参数rowIndex和rowData, 查看easyUI的帮助文档如下: 还有form表单的load...
  • sdzhangshulong
  • sdzhangshulong
  • 2016年02月23日 14:27
  • 1939

sqlserver数据导入mysql七: 对mysql和sqlsever同一张表中的数据进行统计对比

#!/usr/bin/perl use Encode; use Encode::CN; use DBI; use Switch; use strict; use Net::HandlerSocket;...
  • q383965374
  • q383965374
  • 2014年04月09日 16:36
  • 1117

利用JS动态添加表的一行和删除表行

  • 2009年11月13日 10:43
  • 3KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:同一张表内、利用变化的上一行数据动态地修改下一行数据(示例Demo)
举报原因:
原因补充:

(最多只允许输入30个字)