Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / PRINT IDENT_CURRENT для Ms SQL 7 ? / 8 сообщений из 8, страница 1 из 1
14.10.2002, 11:23:46
    #32057862
Larvef
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
Дело в том, что нужно получить последний занятый id в таблице, даже если row с этим id был удален.

PRINT IDENT_CURRENT вроде делает то, что надо, но она для MSSQL 2000. Подскажите, есть ли варианты для предыдущих версий?
...
Рейтинг: 0 / 0
15.10.2002, 11:00:51
    #32058272
Larvef
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
Научите, очень нужно. Конкретной информации не нашел.
Эксперименты с @@identity не помогли.

Еще раз сформирую вопрос:
есть таблица, в ней был удален последний топик. Как можно узнать какой последний занятый id?

Заранее спасибо!
...
Рейтинг: 0 / 0
15.10.2002, 11:11:03
    #32058278
SergSuper
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
А в 4-й версии вообще identity не было - и ничего, не ныли, чё-то писали.
...
Рейтинг: 0 / 0
15.10.2002, 15:37:28
    #32058435
Larvef
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
Тоже ответ :)
...
Рейтинг: 0 / 0
15.10.2002, 15:42:55
    #32058441
Viktor Rybak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
select MAX(id) from tTable
...
Рейтинг: 0 / 0
15.10.2002, 15:43:50
    #32058443
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
Вы бы лучше объяснили подробно какую задачу вы хотет решить, а то "нужно получить последний занятый id в таблице, даже если row с этим id был удален". Если id "занят" то как он может быть "удален" ?


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
declare @myid int
create table #temp1(f1 int)

insert into #temp1 values( 1 )
insert into #temp1 values( 2 )
insert into #temp1 values( 4 )
insert into #temp1 values( 5 )
 --insert into #temp1 values(7)
 
 --insert into #temp1 values(8)
 
insert into #temp1 values( 10 )

 /*All "free"  id*/ 
select a.f1+ 1 
from #temp1 a 
left outer join #temp1 b on (b.f1) = (a.f1+ 1 )
where b.f1 is null

 /* First "free" id */ 
select top  1  @myid = a.f1
from #temp1 a 
left outer join #temp1 b on (b.f1) = (a.f1+ 1 )
where b.f1 is null
order by a.f1

select ISNULL(@myid,  0 ) +  1 
drop table #temp1
...
Рейтинг: 0 / 0
15.10.2002, 17:53:28
    #32058512
Larvef
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
В общем так, нужно вычислить какой будет следующий id записи.
select MAX(id) from tTable не подойдет в случае, если последняя запись была удалена.
...
Рейтинг: 0 / 0
15.10.2002, 18:43:22
    #32058529
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
PRINT IDENT_CURRENT для Ms SQL 7 ?
Тогда нужно для каждой таблицы хранить данные о последнем id во вспомогательной таблице. Ну и соответственно организовать процедуру по генерации такого id
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / PRINT IDENT_CURRENT для Ms SQL 7 ? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]