Sequence
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Sequence Expand / Collapse
Автор
Сообщение
20.12.2001 9:18
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 20.12.2001 14:37
Сообщ.: 8, Visits: 89
Когда я пишу такой запрос:
SELECT TABLE1_SEQ.NEXTVAL FROM TABLE1
выводятся несколько подряд (разное количество) чисел
Мне интересно знать почему так происходит, и можно ли этого избежать.
Заранее благодарю
Сообщ. #737202
20.12.2001 12:29
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 28.12.2002 11:35
Сообщ.: 69, Visits: 760
При обащенни TABLE1_SEQ.NEXTVAL из TABLE1_SEQ возвращается
новое значение (старое значение + инкримента).
При SELECT TABLE1_SEQ.NEXTVAL FROM TABLE1 к TABLE1_SEQ происходит
обращение "количество записей в TABLE1" раз и формируется
соотв. выборка.
А в чем суть проблемы?
Сообщ. #737250
20.12.2001 13:03
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

участник
Last Login: 17.04.2003 15:55
Сообщ.: 69, Visits: 760
Суть проблемы, наверное, в том, что либо табличка "мутирует", то есть кол-во строк в ней каждый раз различается, либо, в зависимости от среды исполнения, на клиента возвращается разное кол-во записей.

Скорее всего ты GenBr, хотел сделать нумерацию строк в запросе. Для этого есть ораклиная функция row_number(), используй ее с partition и order by, посмотри синтаксис в SQL Reference, либо используй rownum. А сиквенс нужен для получения уникальных номеров, и обычно для записи их в первичные ключи.
Сообщ. #737252
20.12.2001 14:46
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 20.12.2001 14:37
Сообщ.: 8, Visits: 89
Мне нужно было взять следующую (одну) запись из посл-сти в SQL-запросе. Я понял как это сделать (спасибо за ответы).
Про роунум то я и не подумал...
Сообщ. #737274
26.12.2001 18:10
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 18.03.2003 10:55
Сообщ.: 83, Visits: 914
А что классическое

SELECT sequence_name.NEXTVAL from DUAL;

не подходит ?

... либо я вопроса не понял ...
Сообщ. #737781
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 2:50