, .. . , "" . (DDL). . , . , . . :
✍ | , |
✍ | , |
✍ | , . |
.
.
. , , .
, . , (, INSERT UPDATE SQL) - , . , , .
. , ACID (Atomicity, Consistency, Isolation Durability), , :
(Atomicity). , , . , , , , , , . , , , . | |
(Consistency). , , , . , . . , . SQL Server 2012 : . |
|
|
(Isolation). , , , . . . , , , . "". | |
(Durability). , , (commit transaction). , . |
ACID . , .
(locks). , .
(locks) , . . , . , . , , , . , .
SQL Server 2000 . . , . , . , .
, , :
(The lost update problem). . , . , . . , , . . , , . , . , . | |
"" (The uncommitted dependency problem). , , , . , . |
|
|
(The inconsistent analysis problem). . , . | |
(The phantom read problem). , , . , . ( ) , . , . |
, :
Level 0 No trashing of data ( "" ). , . . . . - , . | |
Level 1 No dirty read ( "" ). , , , . , , . |
Level 2 No nonrepeatable read ( ). - , , . , . , , . | |
Level 3 No phantom ( ). , , . |
Microsoft SQL Server 2000 .
:
BEGIN TRAN[SACTION] [ tran_name | @tran_var
[ WITH MARK [ 'description' ] ] ]
tran_name ; | |
@tran_ variable char, varchar, nchar, nvarchar; |
WITH MARK [ 'description' ] , transact log. |
@@TRANCOUNT, .
:
BEGIN DISTIBUTED TRAN[SACTION] [ tran_name | @tran_var]
:
SAVE TRAN[SACTION] { save_point | @save_var}
ROLLBACK TRAN. . , , , . , .
ROLLBACK [ TRAN [ SACTION ]
[ tran_name | @tran_var| save_point | @savet_var ] ]
ROLLBACK [ WORK ]
ROLLBACK WORK .
SQL Server 2000 , . .
|
|
COMMIT TRAN. .
COMMIT [TRAN[SACTION] [tran_name | @tran_var] ]
commit , . , . .