仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 985|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页设计怎样利用SQL Server数据库中查询累计值...

[复制链接]
简单生活 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:17:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
对于insert操作,只需要把event_type改成DELETE_ROWS_EVENT;对于delete操作,改成WRITE_ROWS_EVENT有如许一个请求,它要创立一个SQLServer查询,个中包含基于事务时候的累计值。典范的例子就是一个银行账户,由于你每次都是在分歧的工夫往存钱和取钱。对恣意一个账户来讲,在某个工夫点都要算出它的借(存款)和贷(存款)之和。每笔买卖以后,你都想晓得以后的余额。列表A创立了如许一个表格的复杂的例子。
以下为援用的内容:
CREATETABLE[dbo].[BankAccount](
[TransactionID][int]IDENTITY(1,1)NOTNULL,
[TransactionDateTime][datetime]
NOTNULLCONSTRAINT[DF_BankAccount_TransactionDateTime]
DEFAULT(getdate()),[Amount][money]
NOTNULLCONSTRAINT[DF_BankAccount_Amount]
DEFAULT((0)),[TransactionType][char](1)
COLLATESQL_Latin1_General_CP1_CI_ASNOTNULL,
[AccountNumber][varchar](50)COLLATESQL_Latin1_General_CP1_CI_ASNULL,
CONSTRAINT[PK_BankAccount]PRIMARYKEYCLUSTERED
(
[TransactionID]ASC
)WITH(PAD_INDEX=OFF,IGNORE_DUP_KEY=OFF)ON[PRIMARY]
)ON[PRIMARY]

列表A
上面是一些示例行:
12006-11-0302:33:42.34010000.00
22006-11-0302:34:50.467-500.00
32006-11-0302:35:04.857250.00
42006-11-0302:42:19.763-124.25
由于日期是缺省设定的,你要做的就是到场一些金额。例子中为了复杂起见,假定只要一个银行账户(为了更切合实践情形,能够增加一个BankAccountNumber列)。
如今你就可以够创立一个包含了以后余额的查询。由于你已在统一列顶用正正数值纪录了存款和存款值,以是列中的累计值是很简单算出的。你要失掉以后的余额,就要盘算出之前一切买卖的总值,然后将这个值和以后的买卖相加。列表B中的查询完成了这一点。
以下为援用的内容:
SELECT
transactionid,
transactiondatetime,
amount,
(SELECTSUM(amount)
FROMdbo.bankaccountasD1
WHERED1.transactiondatetime<=D0.transactiondatetime)ASbalance
FROMdbo.bankaccountASD0
列表B
如许就失掉了以下的了局集:
12006-11-0302:33:42.34010000.0010000.00
22006-11-0302:34:50.467-500.009500.00
32006-11-0302:35:04.857250.009750.00
42006-11-0302:42:19.763-124.259625.75
如这个例子所示,只需你了解了请求,就能够很简单地创建累计值。所示的例子假定表格中只包含一个账户,可是要处置多个账户也很复杂。增加一个BankAccountNumber列和一个指定利钱数目的WHERE谓词便可。
你也能够把这个例子倒过去用,如在一个存货盘算中创立一个分歧的运转。你从存货1,000入手下手,然后减往各类花消和收条。
如许的查询有两个长处:
你不必要贮存了局。当用账户编号或外键操纵时,实行能够如闪电般敏捷。
你以一个标签停止事件,它能够逐行举行反省。假如呈现成绩的话,你能够将招致成绩呈现的事件断绝。

在执行崩溃恢复时,理解在一个数据库中的每一个表tbl_name对应的在数据库目录中的3个文件是很重要的:
老尸 该用户已被删除
沙发
发表于 2015-1-18 07:29:30 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-21 13:28:43 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
乐观 该用户已被删除
地板
发表于 2015-1-30 19:12:39 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
小妖女 该用户已被删除
5#
发表于 2015-2-6 15:13:02 | 只看该作者
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
再现理想 该用户已被删除
6#
发表于 2015-2-16 20:48:01 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
飘灵儿 该用户已被删除
7#
发表于 2015-3-5 09:29:21 | 只看该作者
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
若天明 该用户已被删除
8#
发表于 2015-3-12 02:48:41 | 只看该作者
比如日志传送、比如集群。。。
深爱那片海 该用户已被删除
9#
发表于 2015-3-19 17:45:07 | 只看该作者
大家注意一点。如下面的例子:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 00:15

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表