当前位置: 代码迷 >> Oracle开发 >> Oracle的实验,不会==求教,该怎么处理
  详细解决方案

Oracle的实验,不会==求教,该怎么处理

热度:117   发布时间:2016-04-24 06:31:55.0
Oracle的实验,,不会==求教
题目是这样的:
医院门诊挂号,要求号连续,并且退的号要能重用。每次挂号向号表中插入一条记录,退号从号表中删除一条记录,请设计一个方案来实现
可以考虑sequence
挂号、退号均使用存储过程
 表结构:
create table register(
id number(10) primary key,  --连续号
section varchar2(20), --挂号科室
register_date date --挂号日期 );


求助!!!!!!!!!
------解决思路----------------------
路过!建两个表,一个表示挂号的表,一个表示退号表(按照数字小大来排序);每次挂号的时候都是查询退号表里有没有数据,没有则插入挂号表里;挂号的时候是按照递增的顺序来插入,1,2,...10.如果中间号码为6的退号了,把这个号码6存入退号表。再有人要挂号,先查询退号表里有没有,如果有,把这个号码6拿出来挂号,并且把这个号码再存入挂号表,从退号表里把这条数据删除。
------解决思路----------------------
一个挂号表,一个号码库,

挂号时,从号码库中找到最小的号,移动到挂号表。
退号时,从挂号表中删除,并把该号移动到号码库中。
  相关解决方案