IF NOT EXISTS (SELECT * FROM SYSCOLUMNS INNER JOIN SYSOBJECTS ON SYSOBJECTS.id = SYSCOLUMNS.id 
               WHERE SYSCOLUMNS.NAME = 'ULKEMERNISKODU' AND SYSOBJECTS.name = 'HKIMLIK')
ALTER TABLE dbo.HKIMLIK ADD
	ULKEMERNISKODU int NULL
GO	

IF NOT EXISTS(select sysobjects.id from sysconstraints inner join sysobjects on sysobjects.id = constid where sysobjects.name = 'FK_HKIMLIK_TULKEMERNIS' and xtype='F')
ALTER TABLE dbo.HKIMLIK ADD CONSTRAINT
	FK_HKIMLIK_TULKEMERNIS FOREIGN KEY
	(
	ULKEMERNISKODU
	) REFERENCES dbo.TULKEMERNIS
	(
	ULKEMERNISKODU
	) ON UPDATE  NO ACTION 
	 ON DELETE  NO ACTION 
	
GO

UPDATE HKIMLIK
SET ULKEMERNISKODU = TULKEMERNIS.ULKEMERNISKODU 
FROM         HKIMLIK INNER JOIN
                      TULKEMERNIS ON NOT HKIMLIK.ULKEKODU IN ('RU', 'SD') AND HKIMLIK.ULKEKODU = TULKEMERNIS.ULKEKODU
WHERE HKIMLIK.ULKEMERNISKODU IS NULL
GO

-- SUDAN DÜZELTMESİ
UPDATE HKIMLIK
SET ULKEMERNISKODU = 9970
WHERE ULKEMERNISKODU IS NULL AND ULKEKODU = 'SD' 
GO

-- RUSYA DÜZELTMESİ
UPDATE HKIMLIK
SET ULKEMERNISKODU = 9831
WHERE ULKEMERNISKODU IS NULL AND ULKEKODU = 'RU' 
GO

-- KUZEY KIBRIS DÜZELTMESİ
UPDATE HKIMLIK
SET ULKEMERNISKODU = 9875,
    ULKEKODU = 'KK'
WHERE ULKEMERNISKODU IS NULL AND ULKEKODU = 'KC' 
GO

UPDATE HKIMLIK SET ULKEKODU = 'KK' WHERE ULKEKODU = 'KC'
GO

UPDATE HKIMLIK SET HEVULKEKODU = 'KK' WHERE HEVULKEKODU = 'KC'
GO

-- İngiltere Düzeltmesi                      
UPDATE HKIMLIK
SET ULKEMERNISKODU = 9985,
    ULKEKODU = 'GB'
WHERE ULKEMERNISKODU IS NULL AND ULKEKODU = 'UK' 
GO
               
UPDATE HKIMLIK SET ULKEKODU = 'GB' WHERE ULKEKODU = 'UK'
GO

UPDATE HKIMLIK SET HEVULKEKODU = 'GB' WHERE HEVULKEKODU = 'UK'
GO

IF NOT EXISTS (SELECT * FROM SYSCOLUMNS INNER JOIN SYSOBJECTS ON SYSOBJECTS.id = SYSCOLUMNS.id 
               WHERE SYSCOLUMNS.NAME = 'HEVULKEMERNISKODU' AND SYSOBJECTS.name = 'HKIMLIK')
ALTER TABLE dbo.HKIMLIK ADD
	HEVULKEMERNISKODU int NULL
GO

IF NOT EXISTS(select sysobjects.id from sysconstraints inner join sysobjects on sysobjects.id = constid where sysobjects.name = 'FK_HKIMLIK_TULKEMERNIS_HEVULKEMERNISKODU' and xtype='F')
ALTER TABLE dbo.HKIMLIK ADD CONSTRAINT
	FK_HKIMLIK_TULKEMERNIS_HEVULKEMERNISKODU FOREIGN KEY
	(
	HEVULKEMERNISKODU
	) REFERENCES dbo.TULKEMERNIS
	(
	ULKEMERNISKODU
	) ON UPDATE  NO ACTION 
	 ON DELETE  NO ACTION 
	
GO

UPDATE HKIMLIK
SET HEVULKEMERNISKODU = TULKEMERNIS.ULKEMERNISKODU 
FROM         HKIMLIK INNER JOIN
                      TULKEMERNIS ON NOT HKIMLIK.HEVULKEKODU IN ('RU', 'SD') AND HKIMLIK.HEVULKEKODU = TULKEMERNIS.ULKEKODU
WHERE HEVULKEMERNISKODU IS NULL
GO

-- SUDAN DÜZELTMESİ
UPDATE HKIMLIK
SET HEVULKEMERNISKODU = 9970
WHERE HEVULKEMERNISKODU IS NULL AND HEVULKEKODU = 'SD' 
GO

-- RUSYA DÜZELTMESİ
UPDATE HKIMLIK
SET HEVULKEMERNISKODU = 9831
WHERE HEVULKEMERNISKODU IS NULL AND HEVULKEKODU = 'RU' 
GO

-- KUZEY KIBRIS DÜZELTMESİ
UPDATE HKIMLIK
SET HEVULKEMERNISKODU = 9875 -- Kodu: KK
WHERE HEVULKEMERNISKODU IS NULL AND HEVULKEKODU = 'KC' 
GO

-- İngiltere Düzeltmesi                      
UPDATE HKIMLIK
SET HEVULKEMERNISKODU = 9985 -- Kodu: GB
WHERE HEVULKEMERNISKODU IS NULL AND HEVULKEKODU = 'UK' 
GO                      
