Текущее время: Вс, дек 17 2017, 14:09

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Получение значения IDENTITY-колонки из INSERT
СообщениеДобавлено: Ср, авг 09 2017, 19:24 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 15:30
Сообщения: 38
Добрый день!

Подскажите, каким образом можно получить значение колонки, обозначенной как IDENTITY после вставки записи? Есть ли в Hana возможность вернуть из INSERT это самое сгенерированное значение - а ля RETURNING в Oracle или OUTPUT в MSSQL?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Получение значения IDENTITY-колонки из INSERT
СообщениеДобавлено: Ср, сен 06 2017, 13:51 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 12:03
Сообщения: 106
Его нужно выбирать селектом после вставки.
В системной таблице TABLE_COLUMNS лежат ID столбцов, в частности столбца типа IDENTITY.
По ID столбца находим имя системного нумератора из таблицы SEQUENCES по SEQUENCE_NAME LIKE '%<ID столбца IDENTITY>%'


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение значения IDENTITY-колонки из INSERT
СообщениеДобавлено: Вт, сен 12 2017, 13:14 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 15:30
Сообщения: 38
author писал(а):
Его нужно выбирать селектом после вставки.
В системной таблице TABLE_COLUMNS лежат ID столбцов, в частности столбца типа IDENTITY.
По ID столбца находим имя системного нумератора из таблицы SEQUENCES по SEQUENCE_NAME LIKE '%<ID столбца IDENTITY>%'

А если между вставкой и селектом были добавлены еще записи другой сессией? Так делать нельзя.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Получение значения IDENTITY-колонки из INSERT
СообщениеДобавлено: Ср, сен 13 2017, 01:27 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 12:03
Сообщения: 106
ceib писал(а):
А если между вставкой и селектом были добавлены еще записи другой сессией? Так делать нельзя.

Расскажите, как можно


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение значения IDENTITY-колонки из INSERT
СообщениеДобавлено: Ср, сен 13 2017, 10:21 
Ассистент
Ассистент

Зарегистрирован:
Ср, дек 16 2015, 15:30
Сообщения: 38
author писал(а):
ceib писал(а):
А если между вставкой и селектом были добавлены еще записи другой сессией? Так делать нельзя.

Расскажите, как можно


Собственно не знаю, как в хане это можно сделать безопасно, тобишь изолированно. Поэтому и спрашиваю)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Получение значения IDENTITY-колонки из INSERT
СообщениеДобавлено: Ср, сен 13 2017, 21:30 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 12:03
Сообщения: 106
author писал(а):
Собственно не знаю, как в хане это можно сделать безопасно, тобишь изолированно. Поэтому и спрашиваю)

вы спросили как можно, вам ответили как можно технически средствами HDB.
если не подходит, тогда приделайте поле вроде UUID, индексируемое, в него записывайте известное значение, а после вставки вычитывайте по нему же вставленную строку


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Получение значения IDENTITY-колонки из INSERT
СообщениеДобавлено: Чт, сен 28 2017, 02:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 12:03
Сообщения: 106
сделал для себя открытие - CURRENT_IDENTITY_VALUE()


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB