порядковая нумерация без "дыр"

  • Автор темы Автор темы iceman
  • Дата начала Дата начала

iceman

говнокодер
порядковая нумерация без пропусков

Вообщем, записи пронумерованы по порядку с помощью SEQUENCE

при добавление записи, нужно просмотреть "пустоты в нумерации" (типа: 1, 2, 3, 4, (запись с id 5 была удалена), 6, 7, (запись с id 8 была удалена), 9) и этой записи присвоить этот приопущенный id

-~{}~ 03.08.09 13:47:

вопрос закрыт, чуть позже решение напишу...
 
нет, это мне нужно на самом деле, заказчик не хочет иметь длинные номера договоров

-~{}~ 03.08.09 14:04:

PHP:
select
   r.id+1 x
from (
  select
    t.id,
    lead (t.id) over (order by  t.id) - t.id n
  from my_table t
  order by  t.id) r
where r.n > 1 and rownum < 2
 
нет, ты не должен этого хотеть

но выход есть:

в базе делаешь обычный автоинкремент и работаешь с ним
а вот как заполнить поле НОМЕР ДОКУМЕНТА - думаешь сам

1С не имеет дыр, хотя документы могут длительно создаваться (без записи) многими людьми сразу и потом либо записываться с тем же номером, либо отменяться
 
у меня есть поль id и номер_документа... первоначально сделал так чтобы его ручками вписывали, рассчитывая на то, что у них как то ведеться нумерация, в итоге оказалось что - нет, и вписывать ручками тоже не хотят и не хотят иметь длинные номера документов....

ps.ну и правда какая же это автоматизация, если придется отдельно ввести на бумаге нумерацию документов...

pss. это не 1С +)
 
Что за дурацкая идея, что номера будут длинными? У них на 1 заключенный договор приходится по 10 расторгнутых?
Что за дурацкая идея, когда один и тот же номер имеют НЕСКОЛЬКО договоров? Что это за идиотизм? Звонит заказчик, называет номер договора, его обслуживают, потом выясняется, что он назвал номер удаленного договора, а его обслуживают по вновь заведенному совсем другого заказчика?
 
Сверху