队列表中的Oracle序列

时间:2013-12-04 19:45:38

标签: oracle queue sequence

所以我有一个名为rentalqueue(queue_id,customer_id,movie_title,etc.)的表我在queue_id上也有一个序列:

CREATE SEQUENCE rentalqueue_seq
  MINVALUE     100
  MAXVALUE     300
  START WITH   100
  INCREMENT BY 1
  NOCACHE;

让我说我从电影表中为给定的客户插入几个电影片名到rentalqueue。如何实现触发器(假设),以便我可以指定队列中添加的最后一部电影?假设我添加了5部电影,比如几天,每部都有不同的timestamp

1 个答案:

答案 0 :(得分:0)

我建议您修改序列,以便maxvalue类似于99999999.您可以选择为此类客户添加的最后一部电影:

select *
from (
  select *
  from   rentalqueue
  where  customer_id = :p_customer_id
  order by queue_id desc)
where rownum = 1

或者,如果您有date_added字段(或类似字段),请执行以下操作:

select *
from (
  select *
  from   rentalqueue
  where  customer_id = :p_customer_id
  order by date_added desc)
where rownum = 1