Database Engine SQL. , , . Database Engine , . , , .
INSERT - . INSERT .
CREATE TABLE TestBatch (Cola INT PRIMARY KEY, Colb CHAR(3));
GO
INSERT INTO TestBatch VALUES (1, 'aaa');
INSERT INTO TestBatch VALUES (2, 'bbb');
INSERT INTO TestBatch VALUSE (3, 'ccc'); -- .
GO
SELECT * FROM TestBatch; -- .
GO
INSERT . INSERT , .
CREATE TABLE TestBatch (Cola INT PRIMARY KEY, Colb CHAR(3));
GO
INSERT INTO TestBatch VALUES (1, 'aaa');
INSERT INTO TestBatch VALUES (2, 'bbb');
INSERT INTO TestBatch VALUES (1, 'ccc'); -- .
GO
SELECT * FROM TestBatch; -- 1 2.
GO
Database Engine , . INSERT , TestBatch , INSERT , , .
CREATE TABLE TestBatch (Cola INT PRIMARY KEY, Colb CHAR(3));
GO
INSERT INTO TestBatch VALUES (1, 'aaa');
INSERT INTO TestBatch VALUES (2, 'bbb');
INSERT INTO TestBch VALUES (3, 'ccc'); -- .
GO
SELECT * FROM TestBatch; -- 1 2.
GO
, . Transact-SQL Transact-SQL BEGIN TRANSACTION, COMMIT TRANSACTION, COMMIT WORK, ROLLBACK TRANSACTION ROLLBACK WORK.
BEGIN TRANSACTION
.
COMMIT TRANSACTION COMMIT WORK
, . , , . , , .
ROLLBACK TRANSACTION ROLLBACK WORK
, . , . , , .
|
|
. , , , .
, SQL Server Database Engine . - . .
Database Engine , :
ALTER TABLE | INSERT |
CREATE | OPEN |
DELETE | REVOKE |
DROP | SELECT |
FETCH | TRUNCATE TABLE |
GRANT | UPDATE |
, COMMIT ROLLBACK. Database Engine , - . , .
Transact-SQL SET, API .
SET IMPLICIT_TRANSACTIONS OFF . COMMIT TRANSACTION, COMMIT WORK, ROLLBACK TRANSACTION ROLLBACK WORK .
CREATE TABLE ImplicitTran (ColA int PRIMARY KEY, ColB char(3) NOT NULL);
GO
SET IMPLICIT_TRANSACTIONS ON;
GO
-- INSERT.
INSERT INTO ImplicitTran VALUES (1, 'aaa');
GO
INSERT INTO ImplicitTran VALUES (2, 'bbb');
GO
-- .
COMMIT TRANSACTION;
GO
-- SELECT.
SELECT COUNT(*) FROM ImplicitTran;
GO
INSERT INTO ImplicitTran VALUES (3, 'ccc');
GO
SELECT * FROM ImplicitTran;
GO
-- .
COMMIT TRANSACTION;
GO
SET IMPLICIT_TRANSACTIONS OFF;
GO
, . , . SQL Server Database Engine , , , (MS DTC) , Open Group XA .
Database Engine, , . , .
|
|
. . , , , . ( ), (2PC).
, , . , , , . , , .
, . . , . - , .