社区
Oracle
帖子详情
欢迎赐教,在线,急!!!
boykent
2003-04-01 12:29:27
各位大虾,我的毕业设计题目是在线考试系统,我的问题是在多个终端同时对数据库操作进行抽题的时候,为了防止重复抽题,我们制定的抽题原则是每道试题被抽后,记数加一,然后数据库按记数从小到大排列抽题时按从上到下(100条记录内)抽题。在这样的情况下,有可能出现在一条记录被抽完记数还没加一的时候,另一个终端再来抽这道题,这样的话在记数没加一之前需要对这条记录锁定,请问各位大虾如何锁定,或者有其他更妙的方法可以避免抽题重复,欢迎赐教!多谢!!!
...全文
69
3
打赏
收藏
欢迎赐教,在线,急!!!
各位大虾,我的毕业设计题目是在线考试系统,我的问题是在多个终端同时对数据库操作进行抽题的时候,为了防止重复抽题,我们制定的抽题原则是每道试题被抽后,记数加一,然后数据库按记数从小到大排列抽题时按从上到下(100条记录内)抽题。在这样的情况下,有可能出现在一条记录被抽完记数还没加一的时候,另一个终端再来抽这道题,这样的话在记数没加一之前需要对这条记录锁定,请问各位大虾如何锁定,或者有其他更妙的方法可以避免抽题重复,欢迎赐教!多谢!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
maohaisheng
2003-04-01
打赏
举报
回复
DBMS_RANDOM.RANDOM
RETURN BINARY_INTEGER;
maohaisheng
2003-04-01
打赏
举报
回复
加行锁
select * from questiontable where id = '10001' for update nowait;
但是建议你不要这么做,不如使用一个取随机数的函数
Lastdrop
2003-04-01
打赏
举报
回复
你要将记录锁定,那其他终端的查询语句应该无法执行,也就是要等到解锁才能执行。那还不如,当某个终端去抽题时,先检查一个变量(存放表中),若该变量指示目前没有终端进行抽题,则先将该变量置为正在抽题(注意此时update语句的写法,加一个where判断,然后再检查是否执行了更新!),(类似获得查询锁),然后再进行抽题操作,执行完毕后再将该变量置回来。
刚刚开始接手导师的项目,真得不知如何做起,请大佬们
赐教
。
欢迎
使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的
欢迎
页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Ma...
为什么spring能最好地改变Java?保准看明白!
如果有什么描述的不对的地方还望大佬
赐教
多交流才能进步,加油,冲冲冲!!! 一、哪些人有被裁危险? 就拿甲骨文裁掉900个人来说吧。 甲骨文中国区方面给出的解释是: 不是公司的问题,也不是员工的问题,只是...
从一个越写越慢的编辑器中聊聊优化思路
你用过一个越写越慢的编辑器么? 我曾在项目中实现了一个MD编辑器, 用来解析简单的MD文本, 不过它的性能令我捉
急
. 初期基本没有做任何性能优化相关的内容, 导致每当我正在写的文章...
欢迎
各位看官不舍
赐教
, 留言评论...
【Windows实用技巧】Windows 10忘记密码?别慌,这里有解决方案!
欢迎
在评论区留言,与广大IT同仁共同探讨,相互学习,共筑信息安全防线。
欢迎
来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、...
别让残障用户骂娘!前端无障碍
急
救包 7 天速成
欢迎
来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。一个做过前端开发的产品经理,经历过睿智产品的折磨...
Oracle
17,134
社区成员
55,257
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章