|
|
|
Как правильно считать данные?
|
|||
|---|---|---|---|
|
#18+
вопрос по 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 14:17 |
|
||
|
Как правильно считать данные?
|
|||
|---|---|---|---|
|
#18+
kovshoo wrote: begin transaction lock table A lock table B select * from A select * from B commit Но тебе это не нужно. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 14:23 |
|
||
|
Как правильно считать данные?
|
|||
|---|---|---|---|
|
#18+
Вот и я думаю всю таблицу блокировать некрасиво, да и приложение не позволит. Есть ли в ASE15.5 явная блокировка на уровне строк? Подскажите изящный способ. У меня есть две идеи: 1. заджойнить все таблицы и считать селектом в одну большую темповою таблицу. А потом разбирать ее на маленькие. или 2. begin transaction select * from A,B where .... at isolation level 3 select * from A select * from B commit ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2010, 14:37 |
|
||
|
|

start [/forum/topic.php?fid=55&tid=2010574]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 270ms |

| 0 / 0 |

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