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

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

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

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

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

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

Можно ли извернуться как нибудь?
А чем identity не устраивает ?
...
Рейтинг: 0 / 0
22.10.2005, 00:37
    #33338472
Mike Evteev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update вне транзакции
Админ не дает...
...
Рейтинг: 0 / 0
22.10.2005, 08:43
    #33338541
Update вне транзакции
Вообще то это форум по Sybase и не каждый может знать об oracle sequence...
Понятно, что заводится табличка, ну и потом update c возвратом значения.
Если понять это буквально - то UPDATE не может возвращать значения
Не могли бы поподробнее описать, что вы хотите сделать (генерировать уникальное значение для каждой записи и тд и тп???)
...
Рейтинг: 0 / 0
22.10.2005, 13:23
    #33338666
sn1251
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update вне транзакции
Можно сделать вызов прокси-процедуры (CIS, RPC) с отключенным xact coordination. Но это именно открытие второго коннекта, только неявно. Если вызывать как функцию - ещё обертку на джаве надо писать. Производительность соответственно аховая...
...
Рейтинг: 0 / 0
23.10.2005, 21:59
    #33339229
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update вне транзакции
Mike EvteevАдмин не дает...
Если у вас 12.5, то причин для этого уже нет. Все проблемы с IDENTITY решаемы уже штатными способами.
...
Рейтинг: 0 / 0
23.10.2005, 22:03
    #33339233
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update вне транзакции
А еще можно сделать отдельностоящую таблицу с IDENTITY только для генеранции идентификаторов. В такую таблицу вставляется пустая запись и тут же удаляется. Таблица делается на DOL, поэтому никто никого никогда при этом не блокирует. IDENTITY легко корректируется как в большую сторону, так и в меньшую. Именно так SEQUENCE и эмулируют в ASE.
...
Рейтинг: 0 / 0
24.10.2005, 18:21
    #33341145
Mike Evteev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update вне транзакции
Да вот такие придурочные политики в компании.
Триггреры нельзя, 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
24.10.2005, 18:22
    #33341148
Mike Evteev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Update вне транзакции
MasterZivА еще можно сделать отдельностоящую таблицу с IDENTITY только для генеранции идентификаторов. В такую таблицу вставляется пустая запись и тут же удаляется. Таблица делается на DOL, поэтому никто никого никогда при этом не блокирует. IDENTITY легко корректируется как в большую сторону, так и в меньшую. Именно так SEQUENCE и эмулируют в ASE.

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

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


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