
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.10.2002, 16:50:35
|
|||
|---|---|---|---|
|
|||
ИД только что вставленной записи |
|||
|
#18+
В таблице автоинкременентное поле. После вставки записи нужно узнать его значение. Всегда есть выход - select max()... Но возможно максимальное значение этих полей хранится в одной из системных таблиц (даже если это и так, не факт, что к моменту его чтения другой юзер уже не добавил очередную запись). Как наиболее оптимальным способом узнать значение ИД вставленной записи? (поле не типа uniqueidentifier, а просто identity ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.10.2002, 16:54:35
|
|||
|---|---|---|---|
ИД только что вставленной записи |
|||
|
#18+
Для SQL 2000 SELECT @id = SCOPE_IDENTITY() Для SQL 7.0 SELECT @id = @@IDENTITY Только вызывать надо сразу (следующим оператором) после вставки и желательно внутри транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.10.2002, 17:37:36
|
|||
|---|---|---|---|
ИД только что вставленной записи |
|||
|
#18+
А можно уточнить, почему? В смысле насчет 2000-го... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.10.2002, 18:29:31
|
|||
|---|---|---|---|
ИД только что вставленной записи |
|||
|
#18+
А бог его знает, почитайте BOL. Вроде как надёжнее. Хотя и @@IDENTITY тоже работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=46&tablet=1&tid=1819556]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 299ms |

| 0 / 0 |
