//TODO add necessary assemblies
//TODO scaffold db1
//TODO scaffold db2
//TODO create web project
//TODO reference projects
//TODO add necessary assemblies
//TODO inject services
//TODO call stored procedure
//TODO link to view
Last active
July 28, 2022 17:15
-
-
Save germ13/10443ea42c714d29fbdb5ff213c148d7 to your computer and use it in GitHub Desktop.
Delta for SQL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
USE [DeltaA] | |
GO | |
/****** Object: StoredProcedure [dbo].[DeltaTable01] Script Date: 7/28/2022 1:26:02 AM ******/ | |
SET ANSI_NULLS ON | |
GO | |
SET QUOTED_IDENTIFIER ON | |
GO | |
ALTER PROCEDURE [dbo].[DeltaTable01] ( | |
@table nvarchar(100) | |
, @PK_Column nvarchar(32) = 'Id' | |
, @db01 nvarchar(20) = 'DeltaA' | |
, @db02 nvarchar(30) = 'DeltaB' | |
) AS | |
/* | |
DeltaTable01 'Table01' | |
*/ | |
declare @mainQuery as nvarchar(max); | |
declare @columnAliases as nvarchar(max); | |
SELECT @columnAliases = string_agg ('cte02.' + COLUMN_NAME + ' AS [' + COLUMN_NAME + '_Live] ', ', ' ) | |
FROM INFORMATION_SCHEMA.COLUMNS | |
WHERE TABLE_NAME = @table; | |
SET @mainQuery = ' | |
;with cte01 as( | |
select * from ' + @db01 + '.dbo.' + @table + | |
' except | |
select * from ' + @db02 + '.dbo.' + @table + | |
' ), cte02 as( | |
select * from ' + @db02 + '.dbo.' + @table + | |
' except | |
select * from ' + @db01 + '.dbo.' + @table + | |
') | |
select cte01.*,' + @columnAliases + ' from cte01 full outer join cte02 on cte01.' + @PK_Column + ' = cte02.' + @PK_Column + | |
' ORDER BY ' + @PK_Column + ', ' + @PK_Column + '_Live;' | |
--SELECT @mainQuery; | |
exec (@mainQuery); | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;with cte01 as( | |
select * from DeltaA.dbo.Table01 except | |
select * from DeltaB.dbo.Table01 ), cte02 as( | |
select * from DeltaB.dbo.Table01 except | |
select * from DeltaA.dbo.Table01) | |
select cte01.*,cte02.Id AS [Id_Live] , cte02.Display AS [Display_Live] , cte02.Notes AS [Notes_Live] from cte01 full outer join cte02 on cte01.Id = cte02.Id ORDER BY Id, Id_Live; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment