Текущее время: Пн, авг 20 2018, 19:03

Часовой пояс: 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
Сообщения: 119
Его нужно выбирать селектом после вставки.
В системной таблице 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
Сообщения: 119
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
Сообщения: 119
author написал(а):
Собственно не знаю, как в хане это можно сделать безопасно, тобишь изолированно. Поэтому и спрашиваю)

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


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

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


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

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


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

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


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

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