|
|
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Имеет место быть следующая проблема: процедура P делает вставку в таблицу A, у которой есть IDENTITY поле, при вставке выполняется триггер, который вставляет запись в таблицу B, у которой тоже есть IDENTITY поле. Надо в процедуре P после вставки записи в таблицу A получить вставленное значение IDENTITY поля, но @@identity содержит вставленное значение для IDENTITY поля таблицы B. Как получить значение вставленного поля в таблицу A, не делая SQL - запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 11:26 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Смотрите сюда: http://www.sql.ru/forum/actualthread.aspx?tid=67261 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 11:45 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, что не указал СУБД. Это - ASA и ASE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 11:57 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Для ASA переменная @@IDENTITY имеет область видимости, поэтому ничего делать не надо - в триггере и после INSERT @@IDENTITY будет указывать нужные значения. В ASE не знаю как, знаю в MSSQL это разрулили с помощью специальных функций. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 12:04 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Спасибо, с ASA понятно. А как это сделать в ASE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 14:07 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
ASCRUSДля ASA переменная @@IDENTITY имеет область видимости, поэтому ничего делать не надо - в триггере и после INSERT @@IDENTITY будет указывать нужные значения. Уточню - только начиная с 7-й версии. Я тогда сильно обрадовался, когда они так сделали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 14:11 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Александр Гoлдун Уточню - только начиная с 7-й версии. Я тогда сильно обрадовался, когда они так сделали. Вот-вот, а тоя я было хотел возмутиться. На АСА6, области видимости нет. И приходится извращаться, например, делать триггер "бефоре". Такой перебивает идентити до вставки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2004, 22:38 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Боюсь , что в ASE это вообще никак не сделать. @@identity работает на уровне сессии, там - identity от последней вставленной записи. Если бы не было триггера, то было бы все в порядке, а вот с триггером ... Предлагаю выбросить триггер, заменив его процедурой (все равно ее можно будет всегда вызвать). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 09:56 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
MasterZivБоюсь , что в ASE это вообще никак не сделать. @@identity работает на уровне сессии, там - identity от последней вставленной записи. Вот, что я нашёл на сайте Sybase: http://manuals.sybase.com/onlinebooks/group-as/asg1250e/sqlug/@ebt-link;hf=0;pt=19681?target=%25N%15_26892_START_RESTART_N%25#X Это manual по Transact SQL для ASE. Если я всё правильно понял, то из раздела, на который указывает ссылка следует, что @@identity ИМЕЕТ область видимости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.12.2004, 18:44 |
|
||
|
получение последнего значения IDENTITY поля конкретной таблицы
|
|||
|---|---|---|---|
|
#18+
Это имеешь в виду ? The value for @@identity within a stored procedure or trigger does not affect the value outside the stored procedure or trigger. For example: Ну тогда все хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2004, 14:28 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=32823253&tid=2014018]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
16ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 401ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...