怎样使用SQL语句更新行累计列值
表:TABLEA
客户编号 应收金额 收款金额
1001 100 80
1001 200 180
1001 300 280
1001 400 380
.. .. ..
行数不确定,金额也不确定
如何查询才能得到这样的结构:
客户编号 应收金额 收款金额 剩余金额
1001 100 80 20
1001 200 180 40
1001 300 280 60
1001 400 380 80
.. .. .. ..
如何才能实现 剩余金额 这样的结果
使用一个更新语句即可解决。代码如下:
declare @a int
set @a = 0
update TABLE1 set
@a = @a + 应收金额 - 收款金额,
剩余金额 = @a
相关文档:
General Overview
FeatureSQL Server 2008 (RC0)MySQL 5.1/6PostgreSQL 8.3/PostGIS 1.3/1.4
OS
Windows XP, Windows Vista, Windows 2003, Windows 2008
Windows XP, Windows Vista, (haven't tested on 2008), Linux, Unix, Mac
Windows 2000+ (including Vista and 2003, haven't tested on 2008), Linux, Unix, Ma ......
sql编译与重编译
1.sp_recompile
使存储过程和触发器在下次运行时重新编译。
2.sp_refreshview
如果视图所依赖的基础对象发生更改(如:表增加了一个字段),则视图不会自动更新,这时需要调用该存储过程来对视图进行刷新。有人说,重新打开一下视图就可以更新视图,但我试了没有成功。
例1:刷新指定名称的视图
......
SQL Server 服务由于登录失败而无法启动
1.症状
在重新启动 SQL Server、SQL Executive 或 SQL Server Agent 时,可能无法启动该服务,并显示以下错误信息:
Error 1069:The service did not start due to a logon failure.
或者
错误 1069:由于登录失败而无法启动服务
2.原因
SQL Server、SQL Agent 或 SQL Serve ......
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--每页显示记录条数
@currentpage int output,--第几页
@orderid nvarchar(50),--主键排序
@sort int,--排序方式,1表示升序,0表示降序排列
......
在PostgreSQL8.1.3上可以work
1. 取数据库大小
SELECT pg_size_pretty(pg_database_size('somedatabase')) As fulldbsize
2. 取表大小
SELECT pg_size_pretty(pg_total_relation_size('someschema.sometable')) As fulltblsize, pg_size_pretty(pg_relation_size('someschema.sometable')) As justthetblsize
原贴:
......