41 lines
1.0 KiB
PL/PgSQL
41 lines
1.0 KiB
PL/PgSQL
IF OBJECT_ID('tempdb..#new')IS NOT NULL BEGIN;
|
|
DROP TABLE #new;
|
|
END;
|
|
|
|
SELECT *
|
|
INTO #new
|
|
from master.sys.configurations
|
|
|
|
--except
|
|
IF OBJECT_ID('tempdb..#old')IS NOT NULL BEGIN;
|
|
DROP TABLE #old;
|
|
END;
|
|
|
|
select *
|
|
INTO #old
|
|
from sunaps.master.sys.configurations
|
|
|
|
SELECT [y].[name],
|
|
[y].[new_val],
|
|
[y].[old_val],
|
|
[y].[src]
|
|
FROM (
|
|
SELECT [x].[name],
|
|
[x].[new_val],
|
|
[x].[old_val],
|
|
[x].[src],
|
|
ROW_NUMBER()OVER(PARTITION BY [x].[name] ORDER BY [x].[src]) AS rnk
|
|
FROM (
|
|
SELECT n.name, n.value AS new_val, o.[value] AS old_val, 'new' AS src
|
|
FROM [#new] n
|
|
LEFT JOIN [#old] o ON o.[name] = n.[name]
|
|
WHERE ISNULL(n.[value],'new') <> ISNULL(o.[value], 'old')
|
|
UNION
|
|
SELECT n.name, n.value AS new_val, o.[value] AS old_val, 'old'
|
|
FROM [#old] o
|
|
LEFT JOIN [#new] n ON o.[name] = n.[name]
|
|
WHERE ISNULL(n.[value],'new') <> ISNULL(o.[value], 'old')
|
|
)x
|
|
)y
|
|
WHERE [y].[rnk] = 1
|
|
ORDER BY [y].[name] |