2013-12-04 3 views
0

Поэтому у меня есть таблица с именем rentalqueue(queue_id,customer_id,movie_title,etc.) У меня также есть последовательность на queue_id как таковой:последовательности Oracle в таблице очереди

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

Допустим, я ввожу несколько названий фильмов в rentalqueue для данного клиента из фильма Таблица. Как я могу реализовать триггер (предположение), чтобы я мог назначить последний фильм, добавленный в очередь? Предположим, что я добавляю 5 фильмов, которые позволяют сказать пару дней, каждый с другим timestamp.

+0

Что вы подразумеваете под «обозначить самый последний фильм»? –

+0

самый последний фильм, добавленный в аренду, с точки зрения времени, самый последний. – user3015045

+0

@ user3015045 Что вы подразумеваете под _designate_? – GriffeyDog

ответ

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 
+0

Я попробую это и дам вам знать. Я полагаю, что rownum - это что-то построенное, которое действует как временная метка? – user3015045

+0

Можно ли перемещать содержимое одной таблицы в другую таблицу? Смысл, если бы я хотел переместить строки из таблицы A в таблицу B, на основе let say attribute customer_ID. Таким образом, по существу, перемещение данных в таблицу истории. – user3015045

+0

Это совершенно другой вопрос. Но да, это возможно. Вы вставляете строки в другую таблицу и удаляете их из исходной. –

Смежные вопросы