回到目录

最近开发了一个公安机关的分布式系统,在系统中要求若干个人同时可以对数据库进行读写操作。这时出现了一些联想问题:

1 当多于1人的用户对同一条记录进行写操作时,先写入的用户的数据必定会被后写入的用户的数据override掉,这个问题如何解决?

2 希望看比某一条记录更新的(在这条记录修改后,才进行修改和添加的)所有记录,如何实现(ID不连续,记录时常有更新)?

3 希望看到本行记录的最新版本,如果有新版本就读到数据集,如果没有就不读到数据集?(行版本戳)

ok,I answer questions which I put questions to .

1 当多于1人的用户对同一条记录进行写操作时,先写入的用户的数据必定会被后写入的用户的数据override掉,解决方法:

create proc recordByjobID @jobID char(20) ,@stamp timestamp outputasbegindeclare @stamp rowversion --行版本类型
select   @stamp=stamp from a where [jobID]=@jobID
end-- 将取出的stamp以参数的形式传送给updateRecord过程,去更新记录。create proc updateRecord@jobID char(20) ,@stamp timestamp,@content varchar(200)asbegin-- waitfor delay '00:00:15' --等待时间DECLARE @Count Int
SELECT @Count = COUNT(*) FROM [a] WHERE jobID= @jobIDIF @Count = 1
BEGIN
Update [a]
Set
[content] = @contentWhere stamp=@stamp and jobID=@jobID END
ELSE
BEGININSERT INTO [a](jobID,content)VALUES(@jobid,@content)END
END

2 希望看比某一条记录更新的(在这条记录修改后,才进行修改和添加的)所有记录,如何实现(ID不连续,记录时常有更新)解决方法:

create displayLastBystamp @stamp timestamp asbeginselect cardid,jobid,gid,stamp from a where stamp>@stampend3 希望看到本行记录的最新版本,如果有新版本就读到数据集,如果没有就不读到数据集。解决方法:create displayLastBystampJobId @stamp timestamp,jobid varchar(20)  asbeginselect cardid,jobid,gid,stamp from a where jobID=@jobID and  stamp>@stampend

回到目录

知方可补不足~说说吧!timestamp有什么用?相关推荐

  1. 知方可补不足~开发人员可以自己定义VS文件模版

    团队开发,最重要的是什么? 统一的规范,对于一个团队,在开发项目之前,必须要先告诉大家项目的规范是什么,而开发人员在实际当中再去执行这个规范,对于规范事实上是个很宏观的概念,它可能有很多版本,呵呵,如 ...

  2. 知方可补不足~SQL2008中的发布与订阅模式~续

    上一回介绍了如何在sql2008中建立一个数据库的发布者,今天来说一下如何建立一个订阅者,其实订阅者也是一个数据库,而这个数据库是和发布者的数据结构相同的库,它们之间通过SQL代理进行数据上的同步. ...

  3. 知方可补不足~SQL中的count命令的一些优化措施(百万以上数据明显)

    回到目录 SQL中对于求表记录总数的有count这个聚合命令,这个命令给我们感觉就是快,比一般的查询要快,但是,当你的数据表记录比较多时,如百万条,千万条时,对于count来说,就不是那么快了,我们需 ...

  4. 知方可补不足~CSS中的几个伪元素

    对于一个很好的编辑器VS来说,它对于编程语句的自动提示功能是很强大的,有时,我们根本不需要看相关API,而直接看VS给我们的提示就可以完成一个新技术的学习了. 今天我们来说几个CSS中的伪元素,它们在 ...

  5. 知方可补不足~数据库名称和数据库别名不同了怎么办

    回到目录 当你的数据库安装成功后,你修改了计算机名称,这时,你的sqlserver名称与别名可能就不相同了,当这两个名称不相同时,你再使用sql的发布与订阅功能时,将会被提示出错,"请使用服 ...

  6. 知方可补不足~sqlserver中使用ROW_NUMBER进行的快速分页

    回到目录 这个在SQL2005之后最见的一种分页方式,也是Linq默认生成的执行分页的方法(skip,take),当然在性能上小数量没有问题,在数据达到百万时会很慢,这是我们要清楚的,有时我们在LIN ...

  7. 知方可补不足~用xsl来修饰xml

    概念相关 XSL是可扩展样式表语言的外语缩写,是一种用于以可读格式呈现 XML(标准通用标记语言的子集)数据的语言. 起始于 XSL 万维网联盟(W3C)开始发展 XSL 的原因是:存在着对于基于 X ...

  8. 知方可补不足~sqlserver中使用sp_who查看sql的进程

    回到目录 在SQLSERVER中每个会话,即每个查询分析器窗口都会产生一个SQL进程,对于那些持续时间短的进程,它们转瞬即失,而对于持续时间比较长的,我们需要希望查看它的运行状态,就可以借助SQL提供 ...

  9. 知方可补不足~CSS中margin,padding,border-style有几种书写规范

    参考文章: http://www.w3school.com.cn 在我们使用CSS时,经常看到margin:0 0,margin:0 5px,padding:0 5px 10px;而它们研究是什么含义 ...

最新文章

  1. python爬虫动态加载页面_如何爬动态加载的页面?ajax爬虫你有必要掌握
  2. latex 1图加标题_学习|Latex排版
  3. 游戏网页设计:拟物还是扁平?
  4. HDU 5486 Difference of Clustering 图论
  5. 朱明亮:参与开源软件让业余时间更有意义
  6. 不用AJAX实现前台JS调用后台C#方法(小技巧)
  7. java打印日历至Excel_2013日历打印_Excel2013,如何实现点击单元格就出现日历,操作者......
  8. element table多选表格_【经验总结】vue + element-ui 踩坑—— table 篇
  9. 创业赚钱 卖货 做项目如何最大化保证成功?
  10. flink源码分析_Flink源码分析之深度解读流式数据写入hive
  11. (原创)十大危险cmd命令代码总结
  12. 如何将dwg文件转成kml文件
  13. 本地Blast2GO安装
  14. 电路原理笔记整理_【盛世清北】2021清华大学827电路原理考研笔记-清华考研辅导班...
  15. android carlife 源码,CarLife开发总结
  16. 第三方支付机构的资本:客户备付金
  17. 实战技法 - 短线操盘 (1)
  18. 如何对网站关键词进行合理布局?
  19. 匹马抢三关:讯飞翻译机3.0的破障之战
  20. 摘自《机器视觉技术》陈兵旗—机器视觉的功能与精度

热门文章

  1. 模板设计模式_23种设计模式之模板设计模式
  2. 不同服务器数据库之间的数据操作
  3. ELK快速搭建日志平台(基于7.9.3)
  4. 谷歌Chrome浏览器开发者工具教程—基础功能篇
  5. java框架ssm面试题2016_Java面试-框架篇(SSM-SpringMVC)
  6. apache php 调优_Apache的性能优化实例(一)
  7. 聚类算法分析及其性能比较
  8. md5util java_Java 工具类 - MD5Util
  9. java实验三多态性_Java实验3 类的多态性和接口
  10. 系统学习深度学习(二十)--ResNet,DenseNet,以及残差家族