Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Добрый день, господа. Не будете ли Вы столь любезны объяснить мне каким образом я могу залочить записи в таличке на время работы с ними. (Залочить - защитить от UPD/DEL); В оракле я обычно открывал курсор примерно так Код: plaintext 1. 2. 3. Но в Sybase у меня похожии конструкции не проходят. Isolation level прj,jdfk менять до 3-го но вообщем не помогает. Версия Syb ASA 8.0.0(2065) -- Все что НЕ делается все к лучшему... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:42 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Lav wrote: > В оракле я обычно открывал курсор примерно так А это не Оракл, это ASA. > Но в Sybase у меня похожии конструкции не проходят. Попробуй HOLDLOCK. > Isolation level прj,jdfk менять до 3-го но вообщем не помогает. Не бывает. > Версия Syb ASA 8.0.0(2065) А это старое барахло - апдейтить. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:49 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
>> В оракле я обычно открывал курсор примерно так >А это не Оракл, это ASA. 8-) Очень жаль >> Но в Sybase у меня похожии конструкции не проходят. >Попробуй HOLDLOCK. Пробовал вообще никакого эффекта. Так же пробовал updlock, результат нулевой. >> Isolation level прj,jdfk менять до 3-го но вообщем не помогает. >Не бывает. Чего имеено не бывает??! >> Версия Syb ASA 8.0.0(2065) >А это старое барахло - апдейтить. Ну еслиб все так просто было я б и на форум никогда не залезал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 15:58 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
авторПробовал вообще никакого эффекта. Так же пробовал updlock, результат нулевой. А как Вы пробовали holdlock и что это за updlock (в ASA нет такого хинта к запросам) ? P.S. Еще стоит помнить, что в ASA блокировки держаться до выполнения COMMIT и что любая DDL операция всегда AUTOCOMMIT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:10 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
ASCRUS авторПробовал вообще никакого эффекта. Так же пробовал updlock, результат нулевой. А как Вы пробовали holdlock и что это за updlock (в ASA нет такого хинта к запросам) ? P.S. Еще стоит помнить, что в ASA блокировки держаться до выполнения COMMIT и что любая DDL операция всегда AUTOCOMMIT. Открыл первый isql в нем набрал Код: plaintext 1. 2. 3. То же самое во втором окне isql, и там благополучно извлекаются данные. Никаких DDL и коммитов у меня нету. примитивный запрос из любой таблици попробуйте сами если мне не верите. Ведь на сколько я понимаю isql не завершает сам транзакции??? Может быть updlock там и нету, но во всяком случае на него не ругается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:18 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Lav wrote: > Пробовал вообще никакого эффекта. Как именно пробовал? > Так же пробовал updlock, результат нулевой. Неудивительно - в ASA нет updlock. > Чего имеено не бывает??! Чтобы 3-й уровень изоляции не помог. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:24 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Lav wrote: > попробуйте сами если мне не верите. Не верим и пробовать не видим смысла. > Ведь на сколько я понимаю isql не завершает сам транзакции??? У ISQL по умолчанию Commit после каждого оператора. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:28 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Не всегда конкретный ответ на поставленный вопрос полезен для вопрошавшего. Наводящий вопрос: а зачем это понадобилось? Не сильно удивлюсь, если это окажется что-то из разряда "защиты записей", пока юзер правит накладную Я угадал? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:29 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Lav wrote: > Может быть updlock там и нету, но во всяком случае на него не ругается. Да мало ли на что оно не ругается... слова "updlock" вообще нет в мануале... дальше объяснять ;)? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:30 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Вообще то во первых правильно в запросах WatcomSQL уровень изоляции на таблицу указывается так (как написано в BOL): Код: plaintext 1. В третьих, если Вам важно, чтобы полученные записи не обновлялись и не удалялись, но не беспокоят фантомы, т.е. Вас не интересуют новые добавляемые записи, подходящие по условию запроса, так как Вы не собираетесь еще раз выполнять запрос, то лучше ставить не третий, а второй уровень изоляции, который гарантирует, что данные не будут изменены или удалены до COMMIT-а, но не контролирует добавление записей другими сессиями: Код: plaintext 1. авторНе сильно удивлюсь, если это окажется что-то из разряда "защиты записей", пока юзер правит накладную Я угадал? Более чем уверен - обычная практика людей, работающих с версионниками, не раз встречался ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:31 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
автор>А это не Оракл, это ASA. 8-) Очень жаль Все в мире относительно. Мне вот с точностью до наоборот всегда жаль, когда приходится не творить чудеса на ASA, а возиться с Oracle ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 16:34 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
2 Dim2000 >>У ISQL по умолчанию Commit после каждого оператора. Ха-ха-ха, как смешно, не стоит у меня там ни одной галки по поводу коммитов. Всегда коммитчю сам, и делаю это с умом. 2 Александр Гoлдун >>Не сильно удивлюсь, если это окажется что-то из разряда "защиты записей", пока юзер правит накладную Я угадал? Удивлятся придется, потому что накладные здесь ни при чём. Речь идет о сложных банковских системах, с большим количеством пользователей, счетов и остатков по счетам. Так вот пока отрабатываю долгие процедуры записи надо заблокировать(понятие блокировки раскрывал выше). 2 dim200 >>Да мало ли на что оно не ругается... слова "updlock" вообще нет в мануале... дальше объяснять ;)? Можно не объяснять, sybase asa как я понял, не субд, а система с искусnвенным интелектом: код у процедур форматирует сама, хинты и операторы игнорирует, незнакомые слова тоже игнорирует, и средств для комфортного написания кода тоже для нее не существует 2 ASCRUS >>Вообще то во первых правильно в запросах WatcomSQL уровень изоляции на таблицу указывается так (как написано в BOL): Замечательно, напоминаю у меня версия 8xxxx, может в более поздних оно и так. Но вот у 8xxxxx вот так работает Код: plaintext Код: plaintext >>когда приходится не творить чудеса на ASA, а возиться с Oracle В том то и дело что чудеса и никакой четкости и ясности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:22 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Код: plaintext 1. 2. авторВ том то и дело что чудеса и никакой четкости и ясности. Если бы Вы открыли BOL для ASA и стали его читать, то не осталось бы места чудесам и пришло понимание четкости и ясности, с учетом того, что там все буквально расжевано и разложено по полочкам. Пока же Вы только доказали очередную истину, что "То, что не знаю, то и плохое". авторМожно не объяснять, sybase asa как я понял, не субд, а система с искусnвенным интелектом: код у процедур форматирует сама, хинты и операторы игнорирует, незнакомые слова тоже игнорирует, и средств для комфортного написания кода тоже для нее не существует Так и есть - в ASA действительно встроен исскуственный интеллект и он постоянно развивается :) Насчет написания незнакомых слов алиасами мы уже выяснили ;) А вот насчет комфортного написания кода как всегда вопрос спорный и я например привыкнув к Central/ISQL не особо комфортно чувствую себя с PL/SQL Developer, особенно с учетом его раздражающих фенечек при редактировании кода, который кстати не входит в состав Оракла и является платным (я уже молчу про примитивный GUI, входящий в комплект Оракла). Меня лично больше устраивать прагматичный ISQL, зато с прекрасными графическим планом запросов и удобный на визардах Central с замечательными деббагером, профайлером ХП и консультантом индексов и здесь Ораклу и его родным и сторонним GUI ой далеко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:43 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Метку во времянку и цикл ожидания. Хватит херней страдать, ничего тебе тут путного не скажут - из монитора аж пальцы торчат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:45 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
kluvМетку во времянку и цикл ожидания. Хватит херней страдать, ничего тебе тут путного не скажут - из монитора аж пальцы торчат Прямо интересно стало - и что же он ждать должен в цикле ожидания, засунув "метку" по времянке ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:48 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Lav wrote: > не стоит у меня там ни одной галки по поводу коммитов. UPDLOCK в ASA нет. И на третьем уровне изоляции никаких чудес нет, и если сделать SELECT ..., то до COMMIT-а ни с одной из выбранных записей ничего сделать не удастся. > Удивлятся придется, потому что накладные здесь ни при чём. Речь идет о > сложных банковских системах, с большим количеством пользователей, счетов > и остатков по счетам. Так вот пока отрабатываю долгие процедуры записи > надо заблокировать(понятие блокировки раскрывал выше). SET TEMPORARY OPTION ISOLATION_LEVEL = 3 > Можно не объяснять, sybase asa как я понял, не субд, а система с > искусnвенным интелектом Угумс. Поэтому именно её и используем :). > код у процедур форматирует сама Уже давно не форматирует. Впрочем, я сам пользуюсь SC 3.2, ибо форматировать самому лень, но никого в этом не упрекаю ;). > хинты и операторы игнорирует ASA не нужны хинты - она достаточно сообразительна, чтобы в них не нуждаться :). > Но вот у 8xxxxx вот так работает > > select * from card holdlock; > > а вот так ругается > > select * from card with (holdlock); Ну и что? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:49 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Метку во времянку и цикл ожидания. Хватит херней страдать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:55 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Lav пишет: >>Не сильно удивлюсь, если это окажется что-то из разряда "защиты >> записей", пока юзер правит накладную Я угадал? > Удивлятся придется, потому что накладные здесь ни при чём. Речь идет о > сложных банковских системах, с большим количеством пользователей, счетов > и остатков по счетам. Так вот пока отрабатываю долгие процедуры записи > надо заблокировать(понятие блокировки раскрывал выше). Что ж, редкое исключение :) Просто в подавляющем большинстве случаев причина подобного вопроса именно в желании получить логическую блокировку объекта, связанную с какими-то действиями пользователя. Все-таки обнови версию. Использовать 8.0.0, и уж тем более в банковской системе, немножко, мягко говоря, странновато. Возможность указать WITH (HOLDLOCK) появилась в 8.0.1 Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:56 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Угу. Обожаю дельные советы, касающиеся обновления версии. Можыд сразу СУБД поменять, чего мелочиться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 17:59 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
kluvУгу. Обожаю дельные советы, касающиеся обновления версии. Можыд сразу СУБД поменять, чего мелочиться Уважаемый kluv. Вам есть что то сказать, или просто уже пятничное настроение ? Автор топика задал конкретный вопрос, ему уже дали конкретные ответы, Ваши же сообщения согласно правилам форума можно рассматривать как флуд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 18:01 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
> Все-таки обнови версию. Использовать 8.0.0, и уж тем более в банковской > системе, немножко, мягко говоря, странновато. > > Возможность указать WITH (HOLDLOCK) появилась в 8.0.1 Но лучше сразу до 8.0.4 + последний EBF. 8.0.1 тоже был еще очень сырой. Обновление можно скачать с sybase.com бесплатно. Естественно, делать апгрейд сломя голову не надо - стоит протестировать систему, на сколько возможно. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 18:02 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
kluv wrote: > Обожаю дельные советы, касающиеся обновления версии. Если ты хочешь использовать фичу, которой нет в твоей версии, у тебя есть совершенно демократический выбор из двух вариантов: 1) обновить версию; 2) не использовать фичу. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 18:03 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
ASCRUS kluvМетку во времянку и цикл ожидания. Хватит херней страдать, ничего тебе тут путного не скажут - из монитора аж пальцы торчат Прямо интересно стало - и что же он ждать должен в цикле ожидания, засунув "метку" по времянке ? Автор поста в курсе. Ира, и ты эту гадость не читай, там даже на select залочится все. Временную табличку и метку на начало выполнения со снятием по концу. Остальные, нарвавшись на метку - ждут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 18:10 |
|
||
|
Аналог for update из Oracle
|
|||
|---|---|---|---|
|
#18+
Dim2000 kluv wrote: > Обожаю дельные советы, касающиеся обновления версии. Если ты хочешь использовать фичу, которой нет в твоей версии, у тебя есть совершенно демократический выбор из двух вариантов: 1) обновить версию; 2) не использовать фичу. О тож, если у тебя одна база на локале, в которой регистрируется путевые листы ассенизаторских машин. Тогда канает. А если у тебя по всей стране базы раскиданы, с которыми ежедневно работает куча человек, при этом вообще(!!!) нет админов, то обновляться - это экстрим еще тот. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2005, 18:17 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33447477&tid=2013173]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 386ms |

| 0 / 0 |
