-
Notifications
You must be signed in to change notification settings - Fork 111
Expand file tree
/
Copy pathtSQLt.Fail.ssp.sql
More file actions
56 lines (51 loc) · 1.57 KB
/
tSQLt.Fail.ssp.sql
File metadata and controls
56 lines (51 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
IF OBJECT_ID('tSQLt.Fail') IS NOT NULL DROP PROCEDURE tSQLt.Fail;
GO
---Build+
CREATE PROCEDURE tSQLt.Fail
@Message0 NVARCHAR(MAX) = '',
@Message1 NVARCHAR(MAX) = '',
@Message2 NVARCHAR(MAX) = '',
@Message3 NVARCHAR(MAX) = '',
@Message4 NVARCHAR(MAX) = '',
@Message5 NVARCHAR(MAX) = '',
@Message6 NVARCHAR(MAX) = '',
@Message7 NVARCHAR(MAX) = '',
@Message8 NVARCHAR(MAX) = '',
@Message9 NVARCHAR(MAX) = ''
AS
BEGIN
DECLARE @WarningMessage NVARCHAR(MAX);
SET @WarningMessage = '';
IF XACT_STATE() = -1
BEGIN
SET @WarningMessage = CHAR(13)+CHAR(10)+'Warning: Uncommitable transaction detected!';
DECLARE @TranName NVARCHAR(MAX);
SELECT @TranName = TranName
FROM tSQLt.TestResult
WHERE Id = (SELECT MAX(Id) FROM tSQLt.TestResult);
DECLARE @TranCount INT;
SET @TranCount = @@TRANCOUNT;
ROLLBACK;
WHILE(@TranCount>0)
BEGIN
BEGIN TRAN;
SET @TranCount = @TranCount -1;
END;
SAVE TRAN @TranName;
END;
INSERT INTO #TestMessage(Msg)
SELECT COALESCE(@Message0, '!NULL!')
+ COALESCE(@Message1, '!NULL!')
+ COALESCE(@Message2, '!NULL!')
+ COALESCE(@Message3, '!NULL!')
+ COALESCE(@Message4, '!NULL!')
+ COALESCE(@Message5, '!NULL!')
+ COALESCE(@Message6, '!NULL!')
+ COALESCE(@Message7, '!NULL!')
+ COALESCE(@Message8, '!NULL!')
+ COALESCE(@Message9, '!NULL!')
+ @WarningMessage;
RAISERROR('tSQLt.Failure',16,10);
END;
---Build-
GO