Может ли кто-нибудь сказать мне, правильно ли я понимаю использование START TRANSACTION
и COMMIT
или ROLLBACK
.Сделки SQL с фиксацией и откатом
Если я хочу обновить таблицу, но хочу, чтобы возможность UNDO обновлялась в случае ошибки, этот код был бы правильным способом?
START TRANSACTION;
update ar
set doc_no = gltrans.reference
from plxx.dbo.ar
inner join plxx.dbo.gltrans on gltrans.LNKUNIQUE = ar.UNIQUE_CD
where gltrans.LNKUNIQUE = ar.UNIQUE_CD
and ar.DOC_NO <> gltrans.REFERENCE
COMMIT;
Какие СУБД вы используете? –