RELEASE SAVEPOINT
RELEASE SAVEPOINT â вÑÑвободиÑÑ Ñанее опÑеделÑннÑÑ ÑоÑÐºÑ ÑÐ¾Ñ ÑанениÑ
СинÑакÑиÑ
RELEASE [ SAVEPOINT ] имÑ_ÑоÑки_ÑоÑ
ÑанениÑÐпиÑание
RELEASE SAVEPOINT ÑниÑÑÐ¾Ð¶Ð°ÐµÑ ÑоÑÐºÑ ÑоÑ
ÑанениÑ, опÑеделÑннÑÑ Ñанее в ÑекÑÑей ÑÑанзакÑии.
ÐоÑле ÑниÑÑÐ¾Ð¶ÐµÐ½Ð¸Ñ ÑоÑка ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑÑановиÑÑÑ Ð½ÐµÐ¿Ñименимой в каÑеÑÑве ÑоÑки возвÑаÑа, но Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ Ð´ÑÑÐ³Ð¸Ñ Ð¿ÑоÑвлений, видимÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, ÑÑа команда не имееÑ. Ðна не оÑменÑÐµÑ ÑÑÑекÑа команд, вÑполненнÑÑ Ð¿Ð¾Ñле ÑÑÑановки ÑоÑки ÑÐ¾Ñ ÑанениÑ. (ÐÐ»Ñ ÑÑого пÑедназнаÑена команда ROLLBACK TO SAVEPOINT.) УниÑÑожение ÑоÑки ÑÐ¾Ñ ÑанениÑ, когда она ÑÑановиÑÑÑ Ð½Ðµ нÑжна, позволÑÐµÑ ÑиÑÑеме оÑвобождаÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе ÑеÑÑÑÑÑ ÑанÑÑе, Ñем завеÑÑаеÑÑÑ ÑÑанзакÑиÑ.
RELEASE SAVEPOINT Ñакже ÑниÑÑÐ¾Ð¶Ð°ÐµÑ Ð²Ñе ÑоÑки ÑоÑ
ÑанениÑ, ÑÑÑановленнÑе поÑле заданной ÑоÑки.
ÐаÑамеÑÑÑ
имÑ_ÑоÑки_ÑÐ¾Ñ ÑанениÑÐÐ¼Ñ ÑоÑки ÑÐ¾Ñ ÑанениÑ, подлежаÑей ÑниÑÑожениÑ.
ÐамеÑаниÑ
Указание имени ÑоÑки ÑÐ¾Ñ ÑанениÑ, не опÑеделÑнной Ñанее, ÑÑиÑаеÑÑÑ Ð¾Ñибкой.
ÐÑвободиÑÑ ÑоÑÐºÑ ÑÐ¾Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð² ÑÑанзакÑии, Ð½Ð°Ñ Ð¾Ð´ÑÑейÑÑ Ð² пÑеÑванном ÑоÑÑоÑнии, нелÑзÑ.
ÐÑли одно Ð¸Ð¼Ñ Ð´Ð°Ð½Ð¾ неÑколÑким ÑоÑкам ÑÐ¾Ñ ÑанениÑ, оÑвобождена бÑÐ´ÐµÑ ÑолÑко поÑледнÑÑ Ð¸Ð· Ð½Ð¸Ñ .
ÐÑимеÑÑ
ÐÑÐ¾Ñ Ð¿ÑÐ¸Ð¼ÐµÑ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑ, как ÑÑÑановиÑÑ Ð¸ заÑем ÑниÑÑожиÑÑ ÑоÑÐºÑ ÑÐ¾Ñ ÑанениÑ:
BEGIN;
INSERT INTO table1 VALUES (3);
SAVEPOINT my_savepoint;
INSERT INTO table1 VALUES (4);
RELEASE SAVEPOINT my_savepoint;
COMMIT;ÐÐ°Ð½Ð½Ð°Ñ ÑÑанзакÑÐ¸Ñ Ð²ÑÑÐ°Ð²Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ 3 и 4.
СовмеÑÑимоÑÑÑ
ÐÑа команда ÑооÑвеÑÑÑвÑÐµÑ ÑÑандаÑÑÑ SQL. Ð ÑÑандаÑÑе говоÑиÑÑÑ, ÑÑо клÑÑевое Ñлово SAVEPOINT ÑвлÑеÑÑÑ Ð¾Ð±ÑзаÑелÑнÑм, но Postgres Pro позволÑÐµÑ Ð¾Ð¿ÑÑкаÑÑ ÐµÐ³Ð¾.