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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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