powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Update вне транзакции
11 сообщений из 11, страница 1 из 1
Update вне транзакции
    #33338422
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Adaptive Server Enterprise/12.5.0.

Нужно съэмулировать oracle sequence.

Понятно, что заводится табличка, ну и потом update c возвратом значения.
Все клево, кроме того, что update конечно же штука транзакционная, в отличие от sequence. Второй коннект открывать что-то не хочется.

Можно ли извернуться как нибудь?
...
Рейтинг: 0 / 0
Update вне транзакции
    #33338465
Фотография Zhora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mike EvteevAdaptive Server Enterprise/12.5.0.

Нужно съэмулировать oracle sequence.

Понятно, что заводится табличка, ну и потом update c возвратом значения.
Все клево, кроме того, что update конечно же штука транзакционная, в отличие от sequence. Второй коннект открывать что-то не хочется.

Можно ли извернуться как нибудь?
А чем identity не устраивает ?
...
Рейтинг: 0 / 0
Update вне транзакции
    #33338472
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Админ не дает...
...
Рейтинг: 0 / 0
Update вне транзакции
    #33338541
Вообще то это форум по Sybase и не каждый может знать об oracle sequence...
Понятно, что заводится табличка, ну и потом update c возвратом значения.
Если понять это буквально - то UPDATE не может возвращать значения
Не могли бы поподробнее описать, что вы хотите сделать (генерировать уникальное значение для каждой записи и тд и тп???)
...
Рейтинг: 0 / 0
Update вне транзакции
    #33338666
sn1251
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно сделать вызов прокси-процедуры (CIS, RPC) с отключенным xact coordination. Но это именно открытие второго коннекта, только неявно. Если вызывать как функцию - ещё обертку на джаве надо писать. Производительность соответственно аховая...
...
Рейтинг: 0 / 0
Update вне транзакции
    #33339229
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mike EvteevАдмин не дает...
Если у вас 12.5, то причин для этого уже нет. Все проблемы с IDENTITY решаемы уже штатными способами.
...
Рейтинг: 0 / 0
Update вне транзакции
    #33339233
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще можно сделать отдельностоящую таблицу с IDENTITY только для генеранции идентификаторов. В такую таблицу вставляется пустая запись и тут же удаляется. Таблица делается на DOL, поэтому никто никого никогда при этом не блокирует. IDENTITY легко корректируется как в большую сторону, так и в меньшую. Именно так SEQUENCE и эмулируют в ASE.
...
Рейтинг: 0 / 0
Update вне транзакции
    #33341145
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вот такие придурочные политики в компании.
Триггреры нельзя, IDENTITY нельзя... Если табличка для ключей - то одна...
И т.д. и т.п.

А общем у меня есть sp c

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   
    declare @id int

    update table_name
          set field_name = field_name +  1 ,
               @id = field_name +  1 
          where table_name_field = 'table_name'
    if @@rowcount =  1  
       return @id 
    ...

Только и всего...
Вопрос про "вне транзакции" конечно глуп... Но подумалось - мало ли...
Так что второй коннект придется таки открыть
...
Рейтинг: 0 / 0
Update вне транзакции
    #33341148
Mike Evteev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivА еще можно сделать отдельностоящую таблицу с IDENTITY только для генеранции идентификаторов. В такую таблицу вставляется пустая запись и тут же удаляется. Таблица делается на DOL, поэтому никто никого никогда при этом не блокирует. IDENTITY легко корректируется как в большую сторону, так и в меньшую. Именно так SEQUENCE и эмулируют в ASE.

Что такое DOL?
...
Рейтинг: 0 / 0
Update вне транзакции
    #33341392
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Data-Only locked table
...
Рейтинг: 0 / 0
Update вне транзакции
    #33341397
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mike EvteevТриггреры нельзя, IDENTITY нельзя...

Триггеры -- согласен, а IDENTITY-то чем не угодило ?
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Update вне транзакции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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