Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
id
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста как определять первый незанятый id. Допустим я создал таблицу и в ней первичный ключ id номер. Когда я добавляю строку я с помощью курсора ищу первый незаняты ID, тоесть перебором, как это сзелать правильно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 19:33 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
http://www.rusug.ru/index.php?tree=18&mode=view&id=20 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 19:49 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
спасибо но это тот же Select, просто оптимизированый перебор, нельзя ли как нить сделать чтоб при добавлении сервер сам вставлял первый не заданый ID? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 20:22 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Это наверно хранимая процедура. Подскажи пожалуйста как ее сохранить на сервере(никогда не имел с ними дела) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 20:50 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Какие проблемы - реализуй подобный код в логике сервера. Очень на мой взгляд быстрый алгоритм - чем больше диапазон, тем быстрее работает. Как вариант держать в отдельной таблице список свободных ID, но думаю что это нерационально ни по размеру, ни по скорости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 20:56 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
JudrПодскажите пожалуйста как определять первый незанятый id. Допустим я создал таблицу и в ней первичный ключ id номер. Когда я добавляю строку я с помощью курсора ищу первый незаняты ID, тоесть перебором, как это сзелать правильно? Уточните используемый сервер и я перенесу вопрос в правильный тематический форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 20:56 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Запусти код в интерактивке. Ну а потом при вставке делаешь примерно так: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 21:32 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
спасиб, скажи пожалуйста как удалит сохраняемую процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.05.2006, 22:56 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Смотри хелп по ASA в разделе SQL Statements. Там много вкусностей :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2006, 13:05 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
select min(id+1) from table as t1 where not exists(select* from table where id = t1.id+1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 07:44 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
old_joyselect min(id+1) from table as t1 where not exists(select* from table where id = t1.id+1) Красиво! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2006, 12:53 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Гы-гы. прикольно но глупо. Бр-р-р :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 03:07 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Глупо? С 1998 года работает. Генерит номера прямых связей на цифровой АТС. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 09:44 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Да ради бога, нехай работает. Достаточно сравнить время выполнения... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2006, 21:40 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
Во-первых, запрос "голый". Он дает направление, куда копать. Во-вторых, на моих объемах время приемлемое. ИМХО, мне больше нравиться select длиной в 50 см, чем процедура из десятка строк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 08:44 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
При маленьких диапазонах катит. На десятках тысяч уже тормозит не по-детски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2006, 22:11 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
На работе подсказали: select min(t1.id+1) from table as t1 left outer join table as t2 on t2.id=t1.id+1 where t2.id is null Летает пулей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 13:06 |
|
||
|
id
|
|||
|---|---|---|---|
|
#18+
2 old_joy врядли мы работаем в одной организации, но мне подсказали именно такое же решение. а для sybase ase у меня используется такое Код: plaintext 1. 2. 3. 4. 5. 6. 7. в смысле отлавливается только 1 свободный id>0 и проверяется что он вообще существует. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.06.2006, 15:41 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33759650&tid=2012821]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
87ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 450ms |

| 0 / 0 |
