powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE 12.5.1 Видимость изменений, сделанных внутри подпрограммы
5 сообщений из 5, страница 1 из 1
ASE 12.5.1 Видимость изменений, сделанных внутри подпрограммы
    #33839473
Фотография passlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток!

Есть вопрос про транзакции и хранимые процедуры в ASE 12.5.1

Предположим, есть такая х.п. "A"

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
CREATE PROCEDURE A
as 
begin

  set transaction isolation level  0   
  
  begin transaction

  -- тут какие-то действия по модификации данных в таблицах 
  ...
  ...

  execute B  -- эта х.п. тоже модифицирует данные
  
  -- ЗДЕСЬ БУДУТ ВИДНЫ ИЗМЕНЕНИЯ, СДЕЛАННЫЕ х.п. B ???
  ...
  ...
  

  commit transaction

end

Х.п. "B" не содержит вызовов транзакций. Режим связанных транзакций не включался. Модификация данных в обоих х.п. производится как во временных, так и в постоянных таблицах.

Собственно, вопрос заключен в исходном тексте. Возможно я не прав, но у меня возникает подозрение, что изменения, сделанные х.п. "B" не во всех случаях "видны" в х.п. "А". Поправьте, если я ошибаюсь.


Заранее БОЛЬШОЕ спасибо за ответы!
...
Рейтинг: 0 / 0
ASE 12.5.1 Видимость изменений, сделанных внутри подпрограммы
    #33840841
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
passlightСобственно, вопрос заключен в исходном тексте. Возможно я не прав, но у меня возникает подозрение, что изменения, сделанные х.п. "B" не во всех случаях "видны" в х.п. "А".

Видны, всегда, и более того, это -- одна и та же транзакция.
Почитайте про @@trancount, begin transaction, commit, rallback и, если интересно, savepoint.

Скорее всего, проблема у вас с написанием запросов, или что-то в логике работы процедур.
...
Рейтинг: 0 / 0
ASE 12.5.1 Видимость изменений, сделанных внутри подпрограммы
    #33842344
Фотография passlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Видны, всегда, и более того, это -- одна и та же транзакция.
Почитайте про @@trancount, begin transaction, commit, rallback и, если интересно, savepoint.

Скорее всего, проблема у вас с написанием запросов, или что-то в логике работы процедур.

Вполне возможно, конечно, что я ошибся где-то в логике х.п.

А ASE не может распараллелить выполнение х.п. А и х.п. В? Ведь в х.п. А в явном виде не используются результаты работы х.п. В. Сервер может, не дожидаясь окончания выполнения х.п. В, продолжить выполнение х.п. А ?

Спасибо.
...
Рейтинг: 0 / 0
ASE 12.5.1 Видимость изменений, сделанных внутри подпрограммы
    #33843507
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
passlightА ASE не может распараллелить выполнение х.п. А и х.п. В?

Нет , не может.

passlight
Ведь в х.п. А в явном виде не используются результаты работы х.п. В. Сервер может, не дожидаясь окончания выполнения х.п. В, продолжить выполнение х.п. А ?


Нет, не может. в х.п. А результаты работы х.п. В. используются и в явном виде, в виде кода возврата процедуры и выходных параметров процедуры, и в неявном виде, в виде изменений, которые выполняются в х.п. B и являются (в данном случае) частью всей транзакции процедуры А.
...
Рейтинг: 0 / 0
ASE 12.5.1 Видимость изменений, сделанных внутри подпрограммы
    #33843722
Фотография passlight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за разъяснения. Будем продолжать искать ошибку в логике.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / ASE 12.5.1 Видимость изменений, сделанных внутри подпрограммы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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