Как сделать откат внутри триггера

Советы » SQL » Как сделать откат внутри триггера

Внутри триггера нельзя управлять транзакциями, поэтому генерируешь там исключение а откат транзакции делаешь в приложении, пославшем запрос. Естественно exception должен предварительно создан

SET

TERM !!; CREATE TRIGGER " DELETE_INV" FOR

" TINV" ACTIVE BEFORE DELETE POSITION 10 AS

BEGIN

IF

(EXISTS (SELECT tOst.Id FROM tOst WHERE tOst.Id = tInv.Id)) THEN

EXCEPTION EST_OSTATOK; END

!! SET

TERM ;!! DBase.StartTransaction; try

Query.ExecSQL; DBase.Commit; except

DBase.Rollback; raise

; // Для последующей обработки end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2023 - All Rights Reserved - www.delphirus.com