/*
---------------------------------------------------------------------------------------------------------------
-- CRIAÇÃO DA COLUNA ID NA TABELA CLIENTES_VAREJO
---------------------------------------------------------------------------------------------------------------
*/

EXEC ('
DECLARE @column_name sysname, @identity sysname

SELECT @column_name = name FROM sys.columns WHERE object_name(object_id) = ''CLIENTES_VAREJO'' and name = ''ID''
SELECT @identity = name FROM sys.identity_columns  WHERE object_name(object_id) = ''CLIENTES_VAREJO''

PRINT ''Atualizando a Tabela CLIENTES_VAREJO''

IF @column_name IS NULL AND @identity IS NULL
	BEGIN
		ALTER TABLE dbo.CLIENTES_VAREJO ADD [ID] INT IDENTITY (1,1)
		CREATE NONCLUSTERED INDEX [IDX_CLIENTES_VAREJO_ID] ON [dbo].[CLIENTES_VAREJO]
		(
			[ID] ASC
		)
		PRINT ''Coluna criada com sucesso.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''Tabela atualizada.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NULL
	BEGIN
		PRINT ''Coluna ID já existe sem identity. A columna deverá ser transformada em Identity para o ETL funcionar''
	END
ELSE IF @column_name IS NOT NULL  AND UPPER(@column_name) <> ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''já existe outra coluna com identity. Não foi possível criar a coluna ID para o ETL funcionar.''
	END
')
GO

/*
---------------------------------------------------------------------------------------------------------------
-- CRIAÇÃO DA COLUNA ID NA TABELA ESTOQUE_PRODUTOS
---------------------------------------------------------------------------------------------------------------
*/
EXEC ('
DECLARE @column_name sysname, @identity sysname

SELECT @column_name = name FROM sys.columns WHERE object_name(object_id) = ''ESTOQUE_PRODUTOS'' and name = ''ID''
SELECT @identity = name FROM sys.identity_columns  WHERE object_name(object_id) = ''ESTOQUE_PRODUTOS''

PRINT ''Atualizando a Tabela ESTOQUE_PRODUTOS''

IF @column_name IS NULL AND @identity IS NULL
	BEGIN
		ALTER TABLE dbo.ESTOQUE_PRODUTOS ADD [ID] INT IDENTITY (1,1)
		CREATE NONCLUSTERED INDEX [IDX_ESTOQUE_PRODUTOS_ID] ON [dbo].[ESTOQUE_PRODUTOS]
		(
			[ID] ASC
		)
		PRINT ''Coluna criada com sucesso.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''Tabela atualizada.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NULL
	BEGIN
		PRINT ''Coluna ID já existe sem identity. A columna deverá ser transformada em Identity para o ETL funcionar''
	END
ELSE IF @column_name IS NOT NULL  AND UPPER(@column_name) <> ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''já existe outra coluna com identity. Não foi possível criar a coluna ID para o ETL funcionar.''
	END
')
GO

/*
---------------------------------------------------------------------------------------------------------------
-- CRIAÇÃO DA COLUNA ID NA TABELA PRODUTOS
---------------------------------------------------------------------------------------------------------------
*/
EXEC ('
DECLARE @column_name sysname, @identity sysname

SELECT @column_name = name FROM sys.columns WHERE object_name(object_id) = ''PRODUTOS'' and name = ''ID''
SELECT @identity = name FROM sys.identity_columns  WHERE object_name(object_id) = ''PRODUTOS''

PRINT ''Atualizando a Tabela PRODUTOS''

IF @column_name IS NULL AND @identity IS NULL
	BEGIN
		ALTER TABLE dbo.PRODUTOS ADD [ID] INT IDENTITY (1,1)
		CREATE NONCLUSTERED INDEX [IDX_PRODUTOS_ID] ON [dbo].[PRODUTOS]
		(
			[ID] ASC
		)
		PRINT ''Coluna criada com sucesso.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''Tabela atualizada.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NULL
	BEGIN
		PRINT ''Coluna ID já existe sem identity. A columna deverá ser transformada em Identity para o ETL funcionar''
	END
ELSE IF @column_name IS NOT NULL  AND UPPER(@column_name) <> ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''já existe outra coluna com identity. Não foi possível criar a coluna ID para o ETL funcionar.''
	END
')
GO

/*
---------------------------------------------------------------------------------------------------------------
-- CRIAÇÃO DA COLUNA ID NA TABELA PRODUTOS_INDICADOR_CFOP
---------------------------------------------------------------------------------------------------------------
*/
EXEC ('
DECLARE @column_name sysname, @identity sysname

SELECT @column_name = name FROM sys.columns WHERE object_name(object_id) = ''PRODUTOS_INDICADOR_CFOP'' and name = ''ID''
SELECT @identity = name FROM sys.identity_columns  WHERE object_name(object_id) = ''PRODUTOS_INDICADOR_CFOP''

PRINT ''Atualizando a Tabela PRODUTOS_INDICADOR_CFOP''

IF @column_name IS NULL AND @identity IS NULL
	BEGIN
		ALTER TABLE dbo.PRODUTOS_INDICADOR_CFOP ADD [ID] INT IDENTITY (1,1)
		CREATE NONCLUSTERED INDEX [IDX_PRODUTOS_INDICADOR_CFOP_ID] ON [dbo].[PRODUTOS_INDICADOR_CFOP]
		(
			[ID] ASC
		)
		PRINT ''Coluna criada com sucesso.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''Tabela atualizada.''
	END
ELSE IF @column_name IS NOT NULL AND UPPER(@column_name) = ''ID'' AND @identity IS NULL
	BEGIN
		PRINT ''Coluna ID já existe sem identity. A columna deverá ser transformada em Identity para o ETL funcionar''
	END
ELSE IF @column_name IS NOT NULL  AND UPPER(@column_name) <> ''ID'' AND @identity IS NOT NULL
	BEGIN
		PRINT ''já existe outra coluna com identity. Não foi possível criar a coluna ID para o ETL funcionar.''
	END
')
GO
