Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Как определить, что запись последняя?  [new]
sitev_ru
Member

Откуда:
Сообщений: 38
Вывожу список новостей

	sql = "select * from news"; 
	if (query->active(sql)) {
		while (query->next()) {
...


Пишу на С++, но язык не важен... Важен сам принцип, как правильно определить, что новость последняя и по условию сделать немного другое...
2 сен 15, 09:49    [18098351]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
xenix
Guest
критерий "последнести" известен?
2 сен 15, 09:52    [18098365]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
Elic
Member

Откуда:
Сообщений: 29990
sitev_ru
select * from news
последняя
Без указания порядка - любая.
2 сен 15, 09:54    [18098376]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
sitev_ru
Member

Откуда:
Сообщений: 38
xenix, не понимаю... последняя и есть последняя запись...
2 сен 15, 09:55    [18098380]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
sitev_ru
Member

Откуда:
Сообщений: 38
Elic
sitev_ru
select * from news order by id
последняя
Без указания порядка - любая.


А так?
2 сен 15, 09:56    [18098386]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
оракл тут присем?
Guest
sitev_ru
Пишу на С++
последняя была, когда next() стал ложным.
2 сен 15, 09:58    [18098398]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
Elic
Member

Откуда:
Сообщений: 29990
sitev_ru
select * from news order by id
select news.*, lead('N', 1, 'Y') over (order by id) as is_last from news order by id
2 сен 15, 10:00    [18098414]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
_примус
Guest
извиняюсь за офтоп, но что такое КЯЗ?

у меня поиск только ассоциации с онлайн играми выдал.
2 сен 15, 10:12    [18098507]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
sitev_ru
Member

Откуда:
Сообщений: 38
select news.*, lead('N', 1, 'Y') over (order by id) as is_last from news order by id


Мы сделали запрос, а пока считываем данные, одну из записей удалили... И тогда мы отобразим последнюю запись некорректно. Так ведь?
2 сен 15, 10:14    [18098525]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
Elic
Member

Откуда:
Сообщений: 29990
sitev_ru
Так ведь?
Нет. RTFM Statement-Level Read Consistency (FAQ)
2 сен 15, 10:23    [18098584]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
ArtNick
Member

Откуда:
Сообщений: 1227
sitev_ru,
Корректно в парадигме ORACLE- состояние данных на начало выполнения запроса.
Запрос, работающей по твоей логике, рискует выполняться вечно.
2 сен 15, 10:26    [18098600]     Ответить | Цитировать Сообщить модератору
 Re: Как определить, что запись последняя?  [new]
sitev_ru
Member

Откуда:
Сообщений: 38
Elic
Нет. RTFM Statement-Level Read Consistency (FAQ)


ArtNick
sitev_ru,
Корректно в парадигме ORACLE- состояние данных на начало выполнения запроса.
Запрос, работающей по твоей логике, рискует выполняться вечно.


Понятно, спасибо!
2 сен 15, 10:35    [18098646]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить