ΠΡΠΎΡΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
Π Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΡΠ²ΡΡΠ²ΠΎ ΡΠ²Π΅ΡΠ΅Π½Π½ΠΎΡΡΠΈ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρ Π²ΠΈΠ΄Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠΈΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΡΡ Π·Π°Π΄Π°Ρ, ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ . ΠΠ°Π΄Π°ΡΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΊΠΎΠ³Π΄Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡ ΠΈΡ Π·Π°Π²Π΅ΡΡΠ°ΡΡ. ΠΠΎΠΌΠΈΠΌΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π·Π°Π΄Π°ΡΠ΅ ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ°, ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈΠΌΠ΅Π΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΠ° ΡΠΈΡ. 27.1 ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΡΠΎΠ³ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ Π½Π°ΡΡΠΎΡΡΠ΅ΠΉ Π³Π»Π°Π²Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΡΠ΅Ρ Π½ΠΈΠΊΠ° ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°ΠΊΠΈΡ Π·Π°Π΄Π°Ρ.
ΠΠ»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
Π Firebird ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ Π‘Π£ΠΠ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈΠ· Ρ ΡΠ°Π½ΠΈΠΌΡΡ ΠΏΡΠΎΡΠ΅Π΄ΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΄Π²ΡΡ ΡΠ°Π·Π½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Firebird ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠΏΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡ Ρ ΠΏΠΎΡΠΎΠΊΠΎΠΌ ΡΠ°Π±ΠΎΡΡ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π±Π΅Π· Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΠΈ. ΠΠ²Π° ΠΈΠ· ΡΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ², Π±Π»ΠΎΠΊΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠΎΠΊΠΈ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Ρ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ PSQL ΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠ°ΡΡΠΈ VII. ΠΡΡΠ³ΠΈΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ, Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π² PSQL, ΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ.
Π ΠΈΡ. 27.1. ΠΠ·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
! ! !
ΠΠ ΠΠΠΠ§ΠΠΠΠ. ΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ Π½ΠΎΠ²ΡΠΌΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠΌΠΈ Π² ΡΠ·ΡΠΊ Π² Firebird 1.5.
. ! .
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠΎΡΠ΅ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ (user savepoints), ΡΠ°ΠΊΠΆΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²Π°ΠΌ "ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ" Π³ΡΡΠΏΠΏΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π²Π½ΡΡΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΎΡΠΌΠ΅ΡΠ°ΡΡ ΠΈΡ , Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π±ΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ. ΠΡΠ»ΠΈ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π·Π°Π΄Π°Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΎΡΠΊΠ°Ρ ΠΊ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΡΠΎΡΠΊΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² Π±Π°Π·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΡΠΈΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ, Π±ΡΠ΄ΡΡ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ, Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΡ, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»Π½ΡΠΉ ΠΎΡΠΊΠ°Ρ, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ - Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°Ρ DSQL.
ΠΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ:
SAVEPOINT <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>;
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ SQL Firebird (ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ 31 Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎ-ΡΠΈΡΡΠΎΠ²ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ASCII, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ Π² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π½ΠΎΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΡΠΎΠΉ ΠΆΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΎΠ½ ΠΏΠ΅ΡΠ΅ΠΊΡΠΎΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΡΠΎΡΠΊΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
ΠΠΎΠ·Π²ΡΠ°Ρ (ΠΈΠ»ΠΈ ΠΎΡΠΊΠ°Ρ, rollback) Π½Π° ΡΠΎΡΠΊΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΡΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΡ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. Π£ΠΊΠ°Π·Π°Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΅ΠΉ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ. ΠΡΠ±ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΏΠΎΡΠ»Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΏΡΠΎΠΏΠ°Π΄Π°ΡΡ.
ΠΡΠ±ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠ²Π½ΡΠ΅ ΠΈ Π½Π΅ΡΠ²Π½ΡΠ΅), ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Ρ ΠΌΠΎΠΌΠ΅Π½ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, Π±ΡΠ΄ΡΡ ΡΠ½ΡΡΡ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΡΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Π½ΡΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ, Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΊ Π½ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. ΠΡΠΎ Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΠ΅ Π² Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΡ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΡΡ Π½Π° ΠΏΠΎΡΠΎΠΊ ΡΠ°Π±ΠΎΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½. ΠΡΠ΅ ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅Ρ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΠ»ΠΈΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ°ΡΠ°.
ΠΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΡΠΊΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ:
ROLLBACK [WORK] Π’Π [SAVEPOINT] <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ>;
ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΡΠΎΡΠΊΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, ΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ ΠΎΡΠΊΠ°Ρ Π½Π° ΡΡΡ ΡΠΎΡΠΊΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ. ΠΠ΅ΡΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΡΠΌΠ΅Π½Π΅Π½Ρ ΠΎΡΠΊΠ°ΡΠΎΠΌ, Π½Π΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄Π»Ρ ΡΠ±ΠΎΡΡΠΈΠΊΠ° ΠΌΡΡΠΎΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΡΠ΅ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ - ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π² ΠΏΠ°ΠΌΡΡΠΈ - ΠΌΠΎΠΆΠ΅Ρ ΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅ΡΡΡΡΠΎΠ², ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΎΠ΄Π½ΠΈ ΠΈ ΡΠ΅ ΠΆΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°Π΄Π°ΡΠΈ. Π Π΅ΡΡΡΡΡ ΡΠΆΠ΅ Π½Π΅Π½ΡΠΆΠ½ΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° RELEASE
SAVEPOINT:
RELEASE SAVEPOINT <ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ> [ONLY];
ΠΠ΅Π· ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° ONLY ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ ΡΠΎΡΠΊΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ ΠΏΠΎΡΠ»Π΅ Π½Π΅Π΅, Π±ΡΠ΄ΡΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½Ρ ΠΈ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ONLY Π΄Π»Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ»Π»ΡΡΡΡΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΡΠΎΡΠ΅ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ:
CREATE TABLE SAVEPOINT_TEST (ID INTEGER);
COMMIT;
INSERT INTO SAVEPOINT_TEST
VALUES(99);
COMMIT;
INSERT INTO SAVEPOINT_TEST
VALUES(100) ;
/**/
SAVEPOINT SP1;
/**/
DELETE FROM SAVEPOINT_TEST;
SELECT * FROM SAVEPOINT_TEST; /* Π½Π΅ Π²Π΅ΡΠ½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ */
/**/
ROLLBACK TO SP1;
/**/
SELECT * FROM SAVEPOINT_TEST; /* Π²Π΅ΡΠ½Π΅Ρ 2 ΡΡΡΠΎΠΊΠΈ */
ROLLBACK;
/**/
SELECT * FROM SAVEPOINT_TEST;
/* Π²Π΅ΡΠ½Π΅Ρ ΠΎΠ΄Π½Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ */
ΠΠΎΠ³Π΄Π° ΡΠ΄ΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΎΡΠΊΠ°Ρ, Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ ΡΠΎΡΠΊΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΠΎΡΠΊΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ, Π½Π°Ρ ΠΎΠ΄ΡΡΡΡΡΡ Π² ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π΅ Π°Π²ΡΠΎΠΎΡΠΌΠ΅Π½Ρ Π² ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΠΎΡΠΊΠ°ΡΠ° ΠΎΠ½ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π¦Π΅Π»ΡΡ ΡΡΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΌΡΡΠΎΡΠ°, ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΎΡΠΊΠ°ΡΠ°ΠΌΠΈ.
ΠΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡΠΊΠΎΠΉ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»ΡΡΠΈΠΌ - Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΎΡ 10 000 Π΄ΠΎ 1 ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° ΡΡΡΠΎΠΊ - ΡΠ΄ΡΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΏΡΠ΅ΠΊΡΠ°ΡΠ°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π°Π²ΡΠΎΠΎΡΠΌΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ°Π·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ (TSB). ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π°Π²ΡΠΎΠΎΡΠΌΠ΅Π½Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡ ΡΡΠ΅ΡΠΊΡ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅ΠΌΡΡ ΡΠ΅ΡΡΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡ, Π΅ΡΠ»ΠΈ Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ΅ΡΠΈΡ ΠΎΡΠΌΠ΅Π½ΠΈΡΡ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² ΡΠ°Π·Π΄. "ΠΡΠΎΡΠΎΠΊΠΎΠ» Π°Π²ΡΠΎΠΎΡΠΌΠ΅Π½Ρ" ΡΠ°Π½Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅.
ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠΎΠΌ ΡΠΎΡΠ΅ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² ΠΌΠΎΠ΄ΡΠ»ΡΡ PSQL ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ. ΠΠ°ΠΆΠ΄ΡΠΉ Π±Π»ΠΎΠΊ PSQL Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΎΡΠ΅ΠΊ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. Π Π°ΡΡΠΈΡΠ΅Π½ΠΈΡ PSQL ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎΠ³ΠΎ ΠΆΠ΅ ΡΠΈΠΏΠ° Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΡΡΠΎ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π² DSQL. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΡΠΌ. Π² Π³Π»Π°Π²Π΅ 32.
ΠΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
ΠΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ START TRANSACTION ΠΈ COMMIT ΠΈΠ»ΠΈ ROLLBACK - ΡΡΠΎ ΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π° Π½Π΅Π΅ ΠΊΠ°ΠΊ Π½Π° ΡΠ΅ΡΠΈΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π·Π°Π΄Π°ΡΡ. ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±Π΅ΡΡΠΊΡ Π΄Π»Ρ Π΅Π΄ΠΈΠ½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎΡΠ½ΠΎ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ.
Π‘ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ "Π·Π°Π΄Π°ΡΠ°" Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ START TRANSACTION ΠΈ COMMIT. ΠΠ³ΠΎ Π·Π°Π΄Π°ΡΠ° ΠΈΠΌΠ΅Π΅Ρ Π½Π°ΡΠ°Π»ΠΎ, ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Ρ ΠΈ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΈΠ±ΠΊΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° ΠΏΠΎΠ²Π»Π΅ΠΊΡΡ Π·Π° ΡΠΎΠ±ΠΎΠΉ ΠΎΡΠΊΠ°Ρ Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΈΠ΄Ρ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΡΠ² ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ Π² Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π»Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
ΠΠ΄Π½Π° ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ, ΡΠΎΡΠΌΠΈΡΡΡΡΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ΅ "ΡΠ΅Π»ΠΎΠ΅", ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΠΈ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΡΠ³ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ- ΡΠΈΠΏΠΈΡΠ½Π°Ρ Π·Π°Π΄Π°ΡΠ° "ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ " - Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΡΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΏΠΎΡ ΠΎΠΆΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠΎΠΌΠ΅ΡΠ΅Π½Π½ΡΠ΅ Π²Π½ΡΡΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π½Π°ΠΆΠ°ΡΠΈΠΉ ΠΊΠ»Π°Π²ΠΈΡ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΌ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ.
ΠΠΎΠ΄Π²ΠΎΠ΄Ρ ΠΈΡΠΎΠ³, Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π΄Π°ΡΠ° - ΡΡΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΡ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊ ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ - ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° Π²ΡΡ ΠΎΠ΄ΠΈΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Ρ Π³ΡΠ°Π½ΠΈΡ START TRANSACTION ΠΈ COMMIT. Π€ΠΈΠ·ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΡΠΈ ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ°.
ΠΠ²ΡΠΌΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠΌΠΈ ΡΠ°ΠΊΡΠΎΡΠ°ΠΌΠΈ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΡΠ²Π»ΡΡΡΡΡ:
* ΠΊΠ°ΠΊ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ROLLBACK, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΏΡΠΎΠΏΠ°Π»Π°, ΠΊΠΎΠ³Π΄Π° ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠΌΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏ;
* ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΠΎΠΊ ΡΠ°Π±ΠΎΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΡΠ²Π°Π½ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ - ΠΊΠ°ΠΊ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ.
ΠΠ»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΈΡ Π·Π°Π΄Π°Ρ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ COMMIT ΠΈ ROLLBACK, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ Π·Π° ΠΈ ΠΏΡΠΎΡΠΈΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π²ΠΎΠΏΡΠΎΡΡ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.