如何从数据库为用户分配唯一编号

时间:2013-07-24 11:06:02

标签: sql plsql oracle11g oracle10g plsqldeveloper

1.i有两个表座位编号,其中预定义数据可根据类名提供 2.在预订表中,我想分配这个号码进行特殊预订。如果一个预订ID为3名乘客生成,那么在此表中说1,2,3号码应分配

CREATE TABLE SEATNUMBER
   (    "SEAT_NO" NUMBER,
         "CLASS_NAME" VARCHAR2, 
    "ACTIVE" NUMBER DEFAULT 1 NOT NULL ENABLE, 
   )  

   CREATE TABLE BOOKING
   (        booking_id number,
            seatnumber number    
       )     
seatnumber表中的

活动列用于显示座位是否已分配给某个预订ID或不是 1是不分配 2用于分配

1 个答案:

答案 0 :(得分:0)

要查找未使用的座位号,您可以执行以下操作:

SELECT s.SEAT_NO as UNUSED_SEAT_NO
  FROM SEATNUMBER s
  LEFT OUTER JOIN BOOKING b
    ON (b.SEATNUMBER = s.SEAT_NO)
  WHERE b.BOOKING_ID IS NULL AND
        s.ACTIVE = 1;

我不理解您对ACTIVE列的评论。在这里,我将您的注释解释为意味着值为1表示座位可以分配,而2表示已经分配。如果我错了,只需将查询更改为使用s.ACTIVE = 2

分享并享受。