Текущее время: Вт, апр 16 2024, 22:16

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




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

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

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


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

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


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

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

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


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

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

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


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

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

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


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


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

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

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


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

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


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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