Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как после Insert получит ID записи? / 10 сообщений из 10, страница 1 из 1
07.09.2006, 16:38
    #33971652
sergey_rft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
Здравствуйте увжаемые эксперты.
Я вставляю запись в таблицу, где в качестве ID используется число и автоинкримент.
Мне необходимо, чтобы кранимая процедура возвращала ID созданной записи.
Как это реализовать в ASA 9.02
...
Рейтинг: 0 / 0
07.09.2006, 17:00
    #33971771
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
RTFM @@identity
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
07.09.2006, 17:07
    #33971801
sergey_rft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
А не может получиться ситуации, что инсерт не выполнился и он введет в заблуждение меня. Или кто-то еще успел выполнить и опять таки в ХП я получу ложный ID?
...
Рейтинг: 0 / 0
07.09.2006, 18:21
    #33972156
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
Нет, все будет нормально.

Единственное что ты можешь получить дырки в общем списке нумерации.
Например юзер А начал транзакцию, для его записи сервер выдал номер Х. Потом юзер Б начал транзакцию, ему выдали номер Х+1. А потом юзер А откатил свою транзакцию, а Б - закоммитил. В итоге, в таблице будут записи с номерами Х-1 и Х+1, но не будет записи с номером Х.

---
http://www.rusug.ru] Портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
08.09.2006, 06:14
    #33972670
old_joy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
Перед Insert получайте значение autoincrement через GET_IDENTITY function. Потом Insert c этим и значением и возврат и зпроцедуры.
...
Рейтинг: 0 / 0
08.09.2006, 08:51
    #33972771
sergey_rft
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
Спасибо
...
Рейтинг: 0 / 0
08.09.2006, 13:43
    #33973967
_nicht_schissen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
old_joyПеред Insert получайте значение autoincrement через GET_IDENTITY function. Потом Insert c этим и значением и возврат и зпроцедуры.Только необходимо разрешить вставку в identity поле, если оно конечно является таковым.
...
Рейтинг: 0 / 0
08.09.2006, 14:13
    #33974184
ASCRUS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
А как это "разрешить вставку в поле" ? Обычно гранты все таки на добавление записей вешаются, хотя в принципе уже не имеет отношения к теме топика :)

--
www.rusug.ru - портал русскоязычной группы пользователей Sybase
...
Рейтинг: 0 / 0
08.09.2006, 14:18
    #33974210
Александр Гoлдун
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
ASCRUS пишет:
> А как это "разрешить вставку в поле" ?

Он скорее всего с ASE спутал - там по умолчанию в поле типа identity
запрещено вставлять вручную, если я не путаю.

P.S. Хорошо что ASA наконец-то обратно переименовали в SQL Anywhere.
Пора вводить это название в обиход - может путаться меньше будут.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
08.09.2006, 16:20
    #33974756
_nicht_schissen_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как после Insert получит ID записи?
Приношу свои извинения. Действительно, почему-то подумал, что вопрос именно по ASE. Хотя в топике явно указан ASA.
...
Рейтинг: 0 / 0
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как после Insert получит ID записи? / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]