会议室预定系统,在插入预定数据的同时,需要查询新插入的预定数据与已存在的预定数据是否有冲突,如果有冲突,则不应该插入。如果把查询与插入分成两步来做,则即使在查询的时候发现没有冲突,等到插入的时候也有可能会产生冲突,这就是幻读。要完全避免幻读,就要在查询的时候锁表,插入完毕后释放锁,这样对数据库性能影响很大。
轻量级的解决方案是,把查询和插入并作一步进行,下面是建表sql,尽量简化。
create table room(id number(30));
create table book(roomid number(30),user varchar2(60),startTime date,endTime date);
插入初始数据:
insert into room (id) values (1);
插入预定数据的时候,可以把insert,select,not exists等关键字结合起来使用。
declare
time1 date;
time2 date;
begin
time1:=to_date('2012-6-15 11:30:00', 'yyyy-mm-dd hh24:mi:ss');
time2:=to_date('2012-6-15 13:30:00', 'yyyy-mm-dd hh24:mi:ss');
insert into book (roomid, username, startTime, endTime)
select 1, 'sunwen', time1, time2 from dual
where not exists
(
select 1 from book b
where (b.starttime<=time1 and b.endtime>=time1 and b.roomid=1)
or (b.starttime>=time1 and b.starttime<=time2 and b.roomid=1)
);
commit;
end;
这样就可以避免预定同一件会议室在时间上与别人有冲突,当有冲突的时候,插入0条记录,根据返回值就可以判断插入是否成功。
分享到:
相关推荐
② 、通过完美的高清会议室布局,呈现细腻清晰的图像,流畅逼真的画面,极致震撼 的音效,营造前所未有的跨空间会议效果,使与会者“面对面”地沟通和互动。 2、多样式视频显示及轮巡 系统依照主持人预设的循环切换...
41 6.4 会议记录表的数据操作 42 6.4.1 会议记录表的插入操作 42 6.4.2会议记录表的修改操作 43 6.4.3会议记录表的删除操作 43 6.4.4会议记录表的查询操作 44 6.5 文件表的数据操作 44 6.5.1文件表的插入操作 44 ...
• 与多种不同系统的连接性,即DICOM模态、外部HIS/CIS系统、心脏病学信息系统/PACS(代理程序所服务的系统一般为非标准格式)、血液动力系统(多数为多模态cath实验室中的非DICOM模态)和管理站(负责接收表单/库存...
java lru leetcode 这个 repo 是我对算法、谜题、数据结构和编码练习的实现,希望能帮助我保持敏锐的知识并为 CS ...会议室 2 堆 删除相邻的重复项 排序算法 比较分类: 快速排序 归并排序 插入排序
• 分享日历、安排会议和活动以及预订会议室 • 基于标准的 CalDAV 服务器,可从 Mac、iPad、iPhone 和 PC 进行访问 • 使用 "空闲/忙碌" 查找功能来查看是否有空 • 电子邮件邀请和推送通知 通讯录服务器 •...
2.5通道卡:用于设置门锁的通道功能,一般用于会议室或部分公共区域。 2.6客人卡:可以开启指定房间的门锁,当门锁反锁时不能开锁,客人卡一般由住店 客人或其他相应人员使用。 说明:根据需要,对总控卡、楼栋卡、...
6.2 数据插入 218 实例145 单条数据录入 218 实例146 批量数据录入 220 实例147 插入系统日志信息 222 6.3 数据更新 224 实例148 单条数据更新 224 实例149 批量数据更新 226 6.4 数据查询 227 实例...
【252间会议室】 【253会议室二】 [352 作为不相交区间的数据流] TreeMap 柜台 【最大239滑动窗口】 [295 从数据流中查找中值] 【53最大子阵】 [325 最大大小子阵列总和等于 k] [209 最小尺寸子阵列总和] 【238阵除...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...
内含各种例子(vc下各种控件的使用方法、标题栏与菜单栏、工具栏与状态栏、图标与光标、程序窗口、程序控制、进程与线程、字符串、文件读写操作、文件与文件夹属性操作、文件与文件夹系统操作、系统控制操作、程序...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...
VC++视频会议系统(完整)有开发文档。使用了系统自带的视频。 Windows核心编程(第五版)随书源代码 vc-ftp 多线程操作多文件传输的操作。 VC版下载者 源码 非常简单的一个实例,使用了URLDownloadToFile下载文件...
学术会议的科学计算实验室项目 此仓库由maintained维护, 自然科学学术会议银奖 | 过程 1 。 完善位置(纬度/经度),风(方向/速度)和空气污染数据集| 2 。 使用MATLAB进行可视化,使用精炼的数据集轻松实现数值...
会议管理:包括会议申请、会议自动通知、会议室申请、会议查询、会议管理(会议审批、会议总结、会议纪要、纪要归档、会议维护、会议室设置)等。建立现代化的会议制度,确保会议的必要性和功效性。 车辆管理:包括...
在第五层 有客房,会议室和办公区共计67个。所有的客房的信息点都进到酒店二层楼管理间,进 行集中管理。 酒店各层信息点列表: "配线间 "楼层 "网络信息点 " "FD "一层 "7 " "BD/FD "二层 "41 " "FD "三层 "85 " ...
随着WaveRT独占模式,Mixcraft可以与音频硬件直接连接,绕过操作系统的低延迟的音频性能,无需任何特殊的驱动程序。 MIDI输入和输出的支持。将与任何USB MIDI键盘或连接到MIDI接口的任何文书工作。 交通控制,效果...
数据通信(Data Communication) 7 11 16 18 19 23 24 30 33 34 35 37 38 40 42 45 48 50 51 53 54 56 58 63 64 65 68 79 82 83 84 85 Aspila EX 用户手册 - ii - 部门组呼叫(Department Calling)……………………...