Текущее время: Вс, июл 20 2025, 19:24

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: транзакция в понятии SQL
СообщениеДобавлено: Пт, авг 17 2007, 21:09 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Сижу вот читаю по транзакциям. В смысле баз данных.

Нахожу описание COMMIT WORK.. а есть ROLLBACK WORK.

Думаю логически должен быть BEGIN WORK ..

а вот его нету.. а что вместо него?

Суть такая.

нужно провести например 3-4 Update и если все ок. то COMMIT
а если нет то ROLLBACK.

И как начать транзакицю?


Извиняте если глупый вопрос. Я сейчас дома сижу, сапа нет, ничего проверить <я не знать русский языка>.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакция в понятии SQL
СообщениеДобавлено: Пт, авг 17 2007, 21:21 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
apetrenko написал:
Сижу вот читаю по транзакциям. В смысле баз данных.

Нахожу описание COMMIT WORK.. а есть ROLLBACK WORK.

Думаю логически должен быть BEGIN WORK ..

а вот его нету.. а что вместо него?

Суть такая.

нужно провести например 3-4 Update и если все ок. то COMMIT
а если нет то ROLLBACK.

И как начать транзакицю?


Извиняте если глупый вопрос. Я сейчас дома сижу, сапа нет, ничего проверить <я не знать русский языка>.

Вас какая транзакция интересует - логическая или базы данных?

Настоятельно советую ознакомиться с Data Consistency
PS: А транзакция начинается тогда, когда заканчивается (commit) или откатывается (rollback) текущая транзакция

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакция в понятии SQL
СообщениеДобавлено: Пт, авг 17 2007, 21:27 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 27 2007, 16:08
Сообщения: 352
Пол: Мужской
Цитата:
PS: А транзакция начинается тогда, когда заканчивается (commit) или откатывается (rollback) текущая транзакция



тоесть если мне нужно провести серию апдейтов c проверкой.
нужно написать так:

Пример грубый.

Code:
COMMIT WORK. " типа стартуем
TRY
Update ...
Update ...
Update ...
CATCH cx_root.
ROLLBACK WORK. " откатываем. если какая либо ошибка
ENDTRY.



p.s изучаю доку


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: транзакция в понятии SQL
СообщениеДобавлено: Пт, авг 17 2007, 21:36 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
COMMIT WORK. - это завершение текущего SAP LUW и запуск нового, состояния вне транзакции (вне LUW) не может быть

Code:
TRY
Update ...
Update ...
Update ...
COMMIT WORK. " готово, фиксируем
CATCH cx_root.
ROLLBACK WORK. " откатываем. если какая либо ошибка
ENDTRY.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, авг 17 2007, 22:32 
Специалист
Специалист

Зарегистрирован:
Чт, июн 21 2007, 09:14
Сообщения: 166
Откуда: Москва
Пол: Мужской
зачем мудрить? используйте стандартное средство - функциональные модули обновления типа V1 или V2.

Code:
CALL FUNCTION func1 IN UPDATE TASK.
*обновления не произведены

CALL FUNCTION func2 IN UPDATE TASK.
*обновления не произведены

CALL FUNCTION func3 IN UPDATE TASK.
*обновления не произведены
....
....
COMMIT WORK.
*происходит обновление, сначала отрабатывают V1, затем V2


Вам это нужно? в данном примере модули обновления "заключены" в транзакцию с точки зрения БД


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB