· 8 years ago · Aug 22, 2018, 06:08 PM
1UPDATE...;
2UPDATE...;
3UPDATE...;
4
5BEGIN TRANS;
6UPDATE...;
7UPDATE...;
8UPDATE...;
9COMMIT;
10
11BEGIN TRANS;
12UPDATE...;
13COMMIT;
14BEGIN TRANS;
15UPDATE...;
16COMMIT;
17BEGIN TRANS;
18UPDATE...;
19COMMIT;
20
21BEGIN TRANS;
22UPDATE...;
23GO
24UPDATE...;
25GO
26UPDATE...;
27GO
28COMMIT;
29
30SET NOCOUNT ON
31GO
32
33IF EXISTS ( SELECT * FROM sys.tables WHERE name = 'BatchTest' )
34 DROP TABLE dbo.BatchTest;
35GO
36
37CREATE TABLE dbo.BatchTest (
38 id INT IDENTITY (1,1) PRIMARY KEY NOT NULL
39 , col1 VARCHAR(50)
40 , col2 VARCHAR(50)
41 , col3 VARCHAR(50)
42 , col4 VARCHAR(50)
43)
44GO
45
46DECLARE @i INT = 1;
47WHILE ( @i <= 100 ) BEGIN
48 INSERT INTO dbo.BatchTest ( col1 ) VALUES ( 'col1_' + CAST ( @i AS VARCHAR(10) ) );
49 SET @i += 1;
50END
51GO
52
53SELECT * FROM dbo.BatchTest ORDER BY id;
54
55/*
56 -- test tran/commit --
57 -- manually select and execute the code below after the BatchTest has been created and populated with data --
58
59 SET NOCOUNT ON
60 GO
61
62 BEGIN TRAN;
63 UPDATE dbo.BatchTest SET col2 = 'col2_' + CAST ( id AS VARCHAR(10) );
64 GO
65 UPDATE dbo.BatchTest SET col3 = 'col3_' + CAST ( id AS VARCHAR(10) );
66 GO
67 UPDATE dbo.BatchTest SET col4 = 'col4_' + CAST ( id AS VARCHAR(10) );
68 GO
69 --COMMIT;
70 ROLLBACK;
71
72 SELECT * FROM dbo.BatchTest ORDER BY id;
73
74*/