powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Как правильно считать данные?
3 сообщений из 3, страница 1 из 1
Как правильно считать данные?
    #36775126
kovshoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос по ASE 15.02:

друзья и коллеги, дайте совет пожалуйста.

Как правильно считать данные из двух таблиц, чтобы не пропустить коммит между окончанием чтения из первой таблицы и началом чтения из второй?
или по другому
Как в ASE15 одной командой залочить две таблицы, а лучше определенные строки в этих таблицах, считать данные и разлочить. Причем обработать случай, когда нужные строки уже кто-то заблокировал.

конкретно в моем случае: есть 4 таблицы (1 main и 3 referenced) и я хочу считатать их в темп-таблицы. Вот код для 1 main и 1 referenced:

SELECT *, Rownum=IDENTITY(10), NULL NewRuleId
INTO #Rule
FROM t_Rule
WHERE RuleId = @IN_RuleId

SELECT *, Rownum=IDENTITY(10), NULL NewRuleId, NULL NewConditionId
INTO #RuleCondition
FROM t_RuleCondition
WHERE RuleId = @IN_RuleId
...
Рейтинг: 0 / 0
Как правильно считать данные?
    #36775143
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kovshoo wrote:

begin transaction

lock table A
lock table B

select * from A
select * from B

commit


Но тебе это не нужно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Как правильно считать данные?
    #36775185
kovshoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот и я думаю всю таблицу блокировать некрасиво, да и приложение не позволит. Есть ли в ASE15.5 явная блокировка на уровне строк?

Подскажите изящный способ. У меня есть две идеи:
1. заджойнить все таблицы и считать селектом в одну большую темповою таблицу. А потом разбирать ее на маленькие.
или
2.
begin transaction

select * from A,B where ....
at isolation level 3

select * from A
select * from B

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


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