1+ CREATE PROCEDURE [dbo].[dbx_codeanalysis_error_043_needed1]
2+ AS
3+ BEGIN
4+ INSERT INTO [dbo].[dbx_table]([id])
5+ VALUES (1 )
6+ UPDATE [dbo].[dbx_anothertable] SET [name] = N ' x' WHERE [id] = 1
7+ END
8+ GO
9+ CREATE PROCEDURE [dbo].[dbx_codeanalysis_error_043_needed2]
10+ AS
11+ BEGIN
12+ MERGE [dbo].[dbx_anothertable] AS [T]
13+ USING (VALUES (1 , N ' x' )) AS [S]([id], [name])
14+ ON ([T].[id] = [S].[id])
15+ WHEN NOT MATCHED BY SOURCE THEN
16+ DELETE
17+ ;
18+
19+ DELETE FROM [dbo].[dbx_table] WHERE [id] = 1
20+ END
21+ GO
22+ CREATE PROCEDURE [dbo].[dbx_codeanalysis_error_043_notneeded]
23+ AS
24+ BEGIN
25+ DELETE FROM [dbo].[dbx_table] WHERE [id] = 1
26+
27+ DECLARE @table TABLE ([id] INT NOT NULL , PRIMARY KEY ([id]))
28+ INSERT INTO @table ([id])
29+ VALUES (1 )
30+ END
31+ GO
32+ CREATE PROCEDURE [dbo].[dbx_codeanalysis_error_043_missingtransaction]
33+ AS
34+ BEGIN
35+ BEGIN TRANSACTION
36+ MERGE [dbo].[dbx_anothertable] AS [T]
37+ USING (VALUES (1 , N ' x' )) AS [S]([id], [name])
38+ ON ([T].[id] = [S].[id])
39+ WHEN NOT MATCHED BY SOURCE THEN
40+ DELETE
41+ ;
42+ COMMIT
43+
44+ INSERT INTO [dbo].[dbx_table]([id])
45+ VALUES (1 )
46+ UPDATE [dbo].[dbx_anothertable] SET [name] = N ' x' WHERE [id] = 1
47+ END
48+ GO
49+ CREATE PROCEDURE [dbo].[dbx_codeanalysis_error_043_valid]
50+ AS
51+ BEGIN
52+ SET XACT_ABORT ON
53+
54+ MERGE [dbo].[dbx_anothertable] AS [T]
55+ USING (VALUES (1 , N ' x' )) AS [S]([id], [name])
56+ ON ([T].[id] = [S].[id])
57+ WHEN NOT MATCHED BY SOURCE THEN
58+ DELETE
59+ ;
60+
61+ DELETE FROM [dbo].[dbx_table] WHERE [id] = 1
62+ END
63+ GO
64+ CREATE PROCEDURE [dbo].[dbx_codeanalysis_error_043_alsovalid]
65+ AS
66+ BEGIN
67+ BEGIN TRANSACTION
68+ INSERT INTO [dbo].[dbx_table]([id])
69+ VALUES (1 )
70+
71+ BEGIN TRANSACTION
72+ MERGE [dbo].[dbx_anothertable] AS [T]
73+ USING (VALUES (1 , N ' x' )) AS [S]([id], [name])
74+ ON ([T].[id] = [S].[id])
75+ WHEN NOT MATCHED BY SOURCE THEN
76+ DELETE
77+ ;
78+
79+ DELETE FROM [dbo].[dbx_table] WHERE [id] = 1
80+ COMMIT
81+ COMMIT
82+ END
0 commit comments