Hi everyone!
How can i use a cursor in this case?
USE [SBO_SIXLONDON_PRD]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[DifferencesBetweenDatabase]
@Number INTEGER
AS
BEGIN
SET NOCOUNT ON;
-- Para a Base de Dados da Brandão & Soares
IF @Number = 1
BEGIN
--OCRG
SELECT GROUPCODE, GROUPNAME FROM SBO_SIXLONDON_PRD.DBO.OCRG AS T1
WHERE (NOT EXISTS (SELECT GROUPCODE, GROUPNAME FROM SBO_BRD_PRD.DBO.OCRG AS T2 WHERE (GROUPCODE = T1.GROUPCODE) OR (GROUPNAME = T1.GROUPNAME)))
--OUGP
SELECT UgpEntry, UgpCode FROM SBO_SIXLONDON_PRD.DBO.OUGP AS T3
WHERE (NOT EXISTS (SELECT UgpEntry, UgpCode FROM SBO_BRD_PRD.DBO.OUGP AS T4 WHERE (UgpEntry = T3.UgpEntry) OR (UgpCode = T3.UgpCode)))
--OUOM
SELECT UomEntry, UomCode FROM SBO_SIXLONDON_PRD.DBO.OUOM AS T5
WHERE (NOT EXISTS (SELECT UomEntry, UomCode FROM SBO_BRD_PRD.DBO.OUOM AS T6 WHERE (UomEntry = T5.UomEntry) OR (UomCode = T5.UomCode)))
--OCYC
SELECT Code, Name FROM SBO_SIXLONDON_PRD.DBO.OCYC AS T7
WHERE (NOT EXISTS (SELECT Code, Name FROM SBO_BRD_PRD.DBO.OCYC AS T8 WHERE (Code = T7.Code) OR (Name = T7.Name)))
--OAGP
SELECT AgentCode, AgentName FROM SBO_SIXLONDON_PRD.DBO.OAGP AS T9
WHERE (NOT EXISTS (SELECT AgentCode, AgentName FROM SBO_BRD_PRD.DBO.OAGP AS T10 WHERE (AgentCode = T9.AgentCode) OR (AgentName = T9.AgentName)))
--ODUT
SELECT TermCode, TermName FROM SBO_SIXLONDON_PRD.DBO.ODUT AS T11
WHERE (NOT EXISTS (SELECT TermCode, TermName FROM SBO_BRD_PRD.DBO.ODUT AS T12 WHERE (TermCode = T11.TermCode) OR (TermName = T11.TermName)))
--OOND
SELECT INDCODE, INDNAME FROM SBO_SIXLONDON_PRD.DBO.OOND AS T13
WHERE (NOT EXISTS (SELECT INDCODE, INDNAME FROM SBO_BRD_PRD.DBO.OOND AS T14 WHERE (INDCODE = T13.INDCODE) OR (INDNAME = T13.INDNAME)))
--OCRN
SELECT CurrCode, CurrName FROM SBO_SIXLONDON_PRD.DBO.OCRN AS T15
WHERE (NOT EXISTS (SELECT CurrCode, CurrName FROM SBO_BRD_PRD.DBO.OCRN AS T16 WHERE (CurrCode = T15.CurrCode) OR (CurrName = T15.CurrName)))
--OSHP
SELECT TrnspCode, TrnspName FROM SBO_SIXLONDON_PRD.DBO.OSHP AS T17
WHERE (NOT EXISTS (SELECT TrnspCode, TrnspName FROM SBO_BRD_PRD.DBO.OSHP AS T18 WHERE (TrnspCode = T17.TrnspCode) OR (TrnspName = T17.TrnspName)))
--OITB
SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_SIXLONDON_PRD.DBO.OITB AS T19
WHERE (NOT EXISTS (SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_BRD_PRD.DBO.OITB AS T20 WHERE (ItmsGrpCod = T19.ItmsGrpCod) OR (ItmsGrpNam = T19.ItmsGrpNam)))
--OSLP
SELECT SlpCode, SlpName FROM SBO_SIXLONDON_PRD.DBO.OSLP AS T21
WHERE (NOT EXISTS (SELECT SlpCode, SlpName FROM SBO_BRD_PRD.DBO.OSLP AS T22 WHERE (SlpCode = T21.SlpCode) OR (SlpName = T21.SlpName)))
END
-- Para a Base de Dados da Sweet Capsule
IF @Number = 2
BEGIN
--OCRG
SELECT GROUPCODE, GROUPNAME FROM SBO_SIXLONDON_PRD.DBO.OCRG AS T1
WHERE (NOT EXISTS (SELECT GROUPCODE, GROUPNAME FROM SBO_SWT_PRD.DBO.OCRG AS T2 WHERE (GROUPCODE = T1.GROUPCODE) OR (GROUPNAME = T1.GROUPNAME)))
--OUGP
SELECT UgpEntry, UgpCode FROM SBO_SIXLONDON_PRD.DBO.OUGP AS T3
WHERE (NOT EXISTS (SELECT UgpEntry, UgpCode FROM SBO_SWT_PRD.DBO.OUGP AS T4 WHERE (UgpEntry = T3.UgpEntry) OR (UgpCode = T3.UgpCode)))
--OUOM
SELECT UomEntry, UomCode FROM SBO_SIXLONDON_PRD.DBO.OUOM AS T5
WHERE (NOT EXISTS (SELECT UomEntry, UomCode FROM SBO_SWT_PRD.DBO.OUOM AS T6 WHERE (UomEntry = T5.UomEntry) OR (UomCode = T5.UomCode)))
--OCYC
SELECT Code, Name FROM SBO_SIXLONDON_PRD.DBO.OCYC AS T7
WHERE (NOT EXISTS (SELECT Code, Name FROM SBO_SWT_PRD.DBO.OCYC AS T8 WHERE (Code = T7.Code) OR (Name = T7.Name)))
--OAGP
SELECT AgentCode, AgentName FROM SBO_SIXLONDON_PRD.DBO.OAGP AS T9
WHERE (NOT EXISTS (SELECT AgentCode, AgentName FROM SBO_SWT_PRD.DBO.OAGP AS T10 WHERE (AgentCode = T9.AgentCode) OR (AgentName = T9.AgentName)))
--ODUT
SELECT TermCode, TermName FROM SBO_SIXLONDON_PRD.DBO.ODUT AS T11
WHERE (NOT EXISTS (SELECT TermCode, TermName FROM SBO_SWT_PRD.DBO.ODUT AS T12 WHERE (TermCode = T11.TermCode) OR (TermName = T11.TermName)))
--OOND
SELECT INDCODE, INDNAME FROM SBO_SIXLONDON_PRD.DBO.OOND AS T13
WHERE (NOT EXISTS (SELECT INDCODE, INDNAME FROM SBO_SWT_PRD.DBO.OOND AS T14 WHERE (INDCODE = T13.INDCODE) OR (INDNAME = T13.INDNAME)))
--OCRN
SELECT CurrCode, CurrName FROM SBO_SIXLONDON_PRD.DBO.OCRN AS T15
WHERE (NOT EXISTS (SELECT CurrCode, CurrName FROM SBO_SWT_PRD.DBO.OCRN AS T16 WHERE (CurrCode = T15.CurrCode) OR (CurrName = T15.CurrName)))
--OSHP
SELECT TrnspCode, TrnspName FROM SBO_SIXLONDON_PRD.DBO.OSHP AS T17
WHERE (NOT EXISTS (SELECT TrnspCode, TrnspName FROM SBO_SWT_PRD.DBO.OSHP AS T18 WHERE (TrnspCode = T17.TrnspCode) OR (TrnspName = T17.TrnspName)))
--OITB
SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_SIXLONDON_PRD.DBO.OITB AS T19
WHERE (NOT EXISTS (SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_SWT_PRD.DBO.OITB AS T20 WHERE (ItmsGrpCod = T19.ItmsGrpCod) OR (ItmsGrpNam = T19.ItmsGrpNam)))
--OSLP
SELECT SlpCode, SlpName FROM SBO_SIXLONDON_PRD.DBO.OSLP AS T21
WHERE (NOT EXISTS (SELECT SlpCode, SlpName FROM SBO_SWT_PRD.DBO.OSLP AS T22 WHERE (SlpCode = T21.SlpCode) OR (SlpName = T21.SlpName)))
END
-- Para a Base de Dados da Dashing
IF @Number = 3
BEGIN
--OCRG
SELECT GROUPCODE, GROUPNAME FROM SBO_SIXLONDON_PRD.DBO.OCRG AS T1
WHERE (NOT EXISTS (SELECT GROUPCODE, GROUPNAME FROM SBO_DSH_PRD.DBO.OCRG AS T2 WHERE (GROUPCODE = T1.GROUPCODE) OR (GROUPNAME = T1.GROUPNAME)))
--OUGP
SELECT UgpEntry, UgpCode FROM SBO_SIXLONDON_PRD.DBO.OUGP AS T3
WHERE (NOT EXISTS (SELECT UgpEntry, UgpCode FROM SBO_DSH_PRD.DBO.OUGP AS T4 WHERE (UgpEntry = T3.UgpEntry) OR (UgpCode = T3.UgpCode)))
--OUOM
SELECT UomEntry, UomCode FROM SBO_SIXLONDON_PRD.DBO.OUOM AS T5
WHERE (NOT EXISTS (SELECT UomEntry, UomCode FROM SBO_DSH_PRD.DBO.OUOM AS T6 WHERE (UomEntry = T5.UomEntry) OR (UomCode = T5.UomCode)))
--OCYC
SELECT Code, Name FROM SBO_SIXLONDON_PRD.DBO.OCYC AS T7
WHERE (NOT EXISTS (SELECT Code, Name FROM SBO_DSH_PRD.DBO.OCYC AS T8 WHERE (Code = T7.Code) OR (Name = T7.Name)))
--OAGP
SELECT AgentCode, AgentName FROM SBO_SIXLONDON_PRD.DBO.OAGP AS T9
WHERE (NOT EXISTS (SELECT AgentCode, AgentName FROM SBO_DSH_PRD.DBO.OAGP AS T10 WHERE (AgentCode = T9.AgentCode) OR (AgentName = T9.AgentName)))
--ODUT
SELECT TermCode, TermName FROM SBO_SIXLONDON_PRD.DBO.ODUT AS T11
WHERE (NOT EXISTS (SELECT TermCode, TermName FROM SBO_DSH_PRD.DBO.ODUT AS T12 WHERE (TermCode = T11.TermCode) OR (TermName = T11.TermName)))
--OOND
SELECT INDCODE, INDNAME FROM SBO_SIXLONDON_PRD.DBO.OOND AS T13
WHERE (NOT EXISTS (SELECT INDCODE, INDNAME FROM SBO_DSH_PRD.DBO.OOND AS T14 WHERE (INDCODE = T13.INDCODE) OR (INDNAME = T13.INDNAME)))
--OCRN
SELECT CurrCode, CurrName FROM SBO_SIXLONDON_PRD.DBO.OCRN AS T15
WHERE (NOT EXISTS (SELECT CurrCode, CurrName FROM SBO_DSH_PRD.DBO.OCRN AS T16 WHERE (CurrCode = T15.CurrCode) OR (CurrName = T15.CurrName)))
--OSHP
SELECT TrnspCode, TrnspName FROM SBO_SIXLONDON_PRD.DBO.OSHP AS T17
WHERE (NOT EXISTS (SELECT TrnspCode, TrnspName FROM SBO_DSH_PRD.DBO.OSHP AS T18 WHERE (TrnspCode = T17.TrnspCode) OR (TrnspName = T17.TrnspName)))
--OITB
SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_SIXLONDON_PRD.DBO.OITB AS T19
WHERE (NOT EXISTS (SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_DSH_PRD.DBO.OITB AS T20 WHERE (ItmsGrpCod = T19.ItmsGrpCod) OR (ItmsGrpNam = T19.ItmsGrpNam)))
--OSLP
SELECT SlpCode, SlpName FROM SBO_SIXLONDON_PRD.DBO.OSLP AS T21
WHERE (NOT EXISTS (SELECT SlpCode, SlpName FROM SBO_DSH_PRD.DBO.OSLP AS T22 WHERE (SlpCode = T21.SlpCode) OR (SlpName = T21.SlpName)))
END
-- Para a Base de Dados da Ripe PT
IF @Number = 4
BEGIN
--OCRG
SELECT GROUPCODE, GROUPNAME FROM SBO_SIXLONDON_PRD.DBO.OCRG AS T1
WHERE (NOT EXISTS (SELECT GROUPCODE, GROUPNAME FROM SBO_PT_RIPE_PRD.DBO.OCRG AS T2 WHERE (GROUPCODE = T1.GROUPCODE) OR (GROUPNAME = T1.GROUPNAME)))
--OUGP
SELECT UgpEntry, UgpCode FROM SBO_SIXLONDON_PRD.DBO.OUGP AS T3
WHERE (NOT EXISTS (SELECT UgpEntry, UgpCode FROM SBO_PT_RIPE_PRD.DBO.OUGP AS T4 WHERE (UgpEntry = T3.UgpEntry) OR (UgpCode = T3.UgpCode)))
--OUOM
SELECT UomEntry, UomCode FROM SBO_SIXLONDON_PRD.DBO.OUOM AS T5
WHERE (NOT EXISTS (SELECT UomEntry, UomCode FROM SBO_PT_RIPE_PRD.DBO.OUOM AS T6 WHERE (UomEntry = T5.UomEntry) OR (UomCode = T5.UomCode)))
--OCYC
SELECT Code, Name FROM SBO_SIXLONDON_PRD.DBO.OCYC AS T7
WHERE (NOT EXISTS (SELECT Code, Name FROM SBO_PT_RIPE_PRD.DBO.OCYC AS T8 WHERE (Code = T7.Code) OR (Name = T7.Name)))
--OAGP
SELECT AgentCode, AgentName FROM SBO_SIXLONDON_PRD.DBO.OAGP AS T9
WHERE (NOT EXISTS (SELECT AgentCode, AgentName FROM SBO_PT_RIPE_PRD.DBO.OAGP AS T10 WHERE (AgentCode = T9.AgentCode) OR (AgentName = T9.AgentName)))
--ODUT
SELECT TermCode, TermName FROM SBO_SIXLONDON_PRD.DBO.ODUT AS T11
WHERE (NOT EXISTS (SELECT TermCode, TermName FROM SBO_PT_RIPE_PRD.DBO.ODUT AS T12 WHERE (TermCode = T11.TermCode) OR (TermName = T11.TermName)))
--OOND
SELECT INDCODE, INDNAME FROM SBO_SIXLONDON_PRD.DBO.OOND AS T13
WHERE (NOT EXISTS (SELECT INDCODE, INDNAME FROM SBO_PT_RIPE_PRD.DBO.OOND AS T14 WHERE (INDCODE = T13.INDCODE) OR (INDNAME = T13.INDNAME)))
--OCRN
SELECT CurrCode, CurrName FROM SBO_SIXLONDON_PRD.DBO.OCRN AS T15
WHERE (NOT EXISTS (SELECT CurrCode, CurrName FROM SBO_PT_RIPE_PRD.DBO.OCRN AS T16 WHERE (CurrCode = T15.CurrCode) OR (CurrName = T15.CurrName)))
--OSHP
SELECT TrnspCode, TrnspName FROM SBO_SIXLONDON_PRD.DBO.OSHP AS T17
WHERE (NOT EXISTS (SELECT TrnspCode, TrnspName FROM SBO_PT_RIPE_PRD.DBO.OSHP AS T18 WHERE (TrnspCode = T17.TrnspCode) OR (TrnspName = T17.TrnspName)))
--OITB
SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_SIXLONDON_PRD.DBO.OITB AS T19
WHERE (NOT EXISTS (SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_PT_RIPE_PRD.DBO.OITB AS T20 WHERE (ItmsGrpCod = T19.ItmsGrpCod) OR (ItmsGrpNam = T19.ItmsGrpNam)))
--OSLP
SELECT SlpCode, SlpName FROM SBO_SIXLONDON_PRD.DBO.OSLP AS T21
WHERE (NOT EXISTS (SELECT SlpCode, SlpName FROM SBO_PT_RIPE_PRD.DBO.OSLP AS T22 WHERE (SlpCode = T21.SlpCode) OR (SlpName = T21.SlpName)))
END
-- Para a Base de Dados da Ripe UK
IF @Number = 5
BEGIN
--OCRG
SELECT GROUPCODE, GROUPNAME FROM SBO_SIXLONDON_PRD.DBO.OCRG AS T1
WHERE (NOT EXISTS (SELECT GROUPCODE, GROUPNAME FROM SBO_UK_RIPE_PRD.DBO.OCRG AS T2 WHERE (GROUPCODE = T1.GROUPCODE) OR (GROUPNAME = T1.GROUPNAME)))
--OUGP
SELECT UgpEntry, UgpCode FROM SBO_SIXLONDON_PRD.DBO.OUGP AS T3
WHERE (NOT EXISTS (SELECT UgpEntry, UgpCode FROM SBO_UK_RIPE_PRD.DBO.OUGP AS T4 WHERE (UgpEntry = T3.UgpEntry) OR (UgpCode = T3.UgpCode)))
--OUOM
SELECT UomEntry, UomCode FROM SBO_SIXLONDON_PRD.DBO.OUOM AS T5
WHERE (NOT EXISTS (SELECT UomEntry, UomCode FROM SBO_UK_RIPE_PRD.DBO.OUOM AS T6 WHERE (UomEntry = T5.UomEntry) OR (UomCode = T5.UomCode)))
--OCYC
SELECT Code, Name FROM SBO_SIXLONDON_PRD.DBO.OCYC AS T7
WHERE (NOT EXISTS (SELECT Code, Name FROM SBO_UK_RIPE_PRD.DBO.OCYC AS T8 WHERE (Code = T7.Code) OR (Name = T7.Name)))
--OAGP
SELECT AgentCode, AgentName FROM SBO_SIXLONDON_PRD.DBO.OAGP AS T9
WHERE (NOT EXISTS (SELECT AgentCode, AgentName FROM SBO_UK_RIPE_PRD.DBO.OAGP AS T10 WHERE (AgentCode = T9.AgentCode) OR (AgentName = T9.AgentName)))
--ODUT
SELECT TermCode, TermName FROM SBO_SIXLONDON_PRD.DBO.ODUT AS T11
WHERE (NOT EXISTS (SELECT TermCode, TermName FROM SBO_UK_RIPE_PRD.DBO.ODUT AS T12 WHERE (TermCode = T11.TermCode) OR (TermName = T11.TermName)))
--OOND
SELECT INDCODE, INDNAME FROM SBO_SIXLONDON_PRD.DBO.OOND AS T13
WHERE (NOT EXISTS (SELECT INDCODE, INDNAME FROM SBO_UK_RIPE_PRD.DBO.OOND AS T14 WHERE (INDCODE = T13.INDCODE) OR (INDNAME = T13.INDNAME)))
--OCRN
SELECT CurrCode, CurrName FROM SBO_SIXLONDON_PRD.DBO.OCRN AS T15
WHERE (NOT EXISTS (SELECT CurrCode, CurrName FROM SBO_UK_RIPE_PRD.DBO.OCRN AS T16 WHERE (CurrCode = T15.CurrCode) OR (CurrName = T15.CurrName)))
--OSHP
SELECT TrnspCode, TrnspName FROM SBO_SIXLONDON_PRD.DBO.OSHP AS T17
WHERE (NOT EXISTS (SELECT TrnspCode, TrnspName FROM SBO_UK_RIPE_PRD.DBO.OSHP AS T18 WHERE (TrnspCode = T17.TrnspCode) OR (TrnspName = T17.TrnspName)))
--OITB
SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_SIXLONDON_PRD.DBO.OITB AS T19
WHERE (NOT EXISTS (SELECT ItmsGrpCod, ItmsGrpNam FROM SBO_UK_RIPE_PRD.DBO.OITB AS T20 WHERE (ItmsGrpCod = T19.ItmsGrpCod) OR (ItmsGrpNam = T19.ItmsGrpNam)))
--OSLP
SELECT SlpCode, SlpName FROM SBO_SIXLONDON_PRD.DBO.OSLP AS T21
WHERE (NOT EXISTS (SELECT SlpCode, SlpName FROM SBO_UK_RIPE_PRD.DBO.OSLP AS T22 WHERE (SlpCode = T21.SlpCode) OR (SlpName = T21.SlpName)))
END
END
Thanks.
Anita