2.8 UPDATE CAU LENH EXECUTE STORE.txt
1 |
ALTER PROCEDURE [dbo].[EXECSQL] @l_QUERY NVARCHAR(max) |
---|---|
2 |
AS |
3 |
|
4 |
DECLARE @CHAR VARCHAR(15) = CONVERT(VARCHAR,(YEAR(GETDATE()))) + CONVERT(VARCHAR,(MONTH(GETDATE())))+ CONVERT(VARCHAR,(DAY(GETDATE()))) |
5 |
|
6 |
IF CHARINDEX(@CHAR, @l_QUERY) = 0 |
7 |
BEGIN |
8 |
SELECT N'Bạn không được quyền cập nhật' RESULT, |
9 |
'-1' ErrorDesc |
10 |
RETURN -1 |
11 |
END |
12 |
|
13 |
DECLARE @l_INDEX_QUERY NVARCHAR(max) |
14 |
DECLARE @errNum INT, |
15 |
@errLine INT, |
16 |
@errDesc VARCHAR(200) |
17 |
DECLARE cur CURSOR FOR |
18 |
SELECT value |
19 |
FROM Wsisplit(@l_QUERY, '¿') |
20 |
|
21 |
OPEN cur |
22 |
|
23 |
FETCH next FROM cur INTO @l_INDEX_QUERY |
24 |
|
25 |
WHILE @@FETCH_STATUS = 0 |
26 |
BEGIN |
27 |
BEGIN try |
28 |
EXEC Sp_executesql |
29 |
@l_INDEX_QUERY |
30 |
END try |
31 |
|
32 |
BEGIN catch |
33 |
IF( @errNum IS NULL |
34 |
OR @errNum = '' ) |
35 |
BEGIN |
36 |
SET @errNum = CONVERT(VARCHAR(10), Error_number()); |
37 |
SET @errLine = CONVERT(VARCHAR(5), ERROR_LINE()); |
38 |
SET @errDesc = Error_message(); |
39 |
END |
40 |
|
41 |
BREAK; |
42 |
END catch |
43 |
|
44 |
FETCH next FROM cur INTO @l_INDEX_QUERY |
45 |
END |
46 |
|
47 |
IF( @errNum IS NULL |
48 |
OR @errNum = '' ) |
49 |
BEGIN |
50 |
SELECT 'SUCCESSFULL' RESULT, |
51 |
'' ErrorDesc |
52 |
|
53 |
RETURN; |
54 |
END |
55 |
|
56 |
CLOSE cur |
57 |
|
58 |
DEALLOCATE cur |
59 |
|
60 |
BEGIN try |
61 |
EXEC Sp_executesql |
62 |
@l_QUERY |
63 |
|
64 |
SELECT 'SUCCESSFULL' RESULT, |
65 |
'' ErrorDesc |
66 |
END try |
67 |
|
68 |
BEGIN catch |
69 |
IF( @errNum IS NOT NULL |
70 |
OR @errNum <> '' ) |
71 |
SELECT 'ERROR AT LINE ' + CONVERT(VARCHAR(5), ERROR_LINE()) AS RESULT, |
72 |
CONVERT(VARCHAR(10), @errNum) + ' - ' |
73 |
+ @errDesc ErrorDesc |
74 |
ELSE |
75 |
SELECT 'ERROR AT LINE ' + @errLine AS RESULT, |
76 |
CONVERT(VARCHAR(10), Error_number()) |
77 |
+ ' - ' + Error_message() ErrorDesc |
78 |
END catch |
79 |
----202175 |