![]() |
|
Модераторы: Akina |
![]()
|
|
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Имеется таблица с ключевым полем типа uniqueidentifier, как мне получить значение этого поля для последней вставленной строки?
--------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
@@IDENTITY
SCOPE_IDENTITY( ) -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Это мне нужно чтобы у меня поле было is identity? У меня оно UID
--------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
Оно генерится функцией?
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Да. newid() при вставке новой строки --------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
1) После вставки выполняем селект и получаем этот последний UID. По какому принципу - по равенству всех полей или там по последнему штампу времени - не суть.
2) Выполняем вставку хранимой функцией, которая вызывает функцию генерации UID, добавляет его к остальным полям и полученное уже вставляет в таблицу, а нам возвращает полученный UID. Второй путь мне кажется оптимальным, потому как гарантирует отсутствие интерференций с другими транзакциями. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Задал вопрос, потому что первый ваш метод у меня как раз не всегда работает правильно. Пробовал сделать так:
1. Добавил еще одно поле identity (is identity) 2. После INSERT делаю выборку с @@IDENTITY, получаю значение из этого поля для посл строки 3. А вот получить ID по этому значению уже не удается ( Попробую вторым вашим методом... Это сообщение отредактировал(а) nextzi0 - 3.7.2009, 14:02 --------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| nextzi0 |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 220 Регистрация: 28.5.2008 Где: о. Корсика Репутация: нет Всего: нет |
Все работает. Может где ошибку допускал раньше. Спасибо )
--------------------
Не бойся начинать что-то новое, помни, что ковчег построили любители - профессионалы построили "Титаник" |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 25 Всего: 454 |
Только лучше работй в своём скопе и заверни всё это в одну транзакцию, а то влезет кто...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]()
|
| Правила форума "MS SQL" | |
|
|
Запрещается! Публиковать ссылки и обсуждать взлом чего бы то ни было.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | MS SQL Server | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |