SET NOCOUNT ON

--Remover foreing key
IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_EST_SNGPC_TIPO_DOC_EST_SNGPC_RECEITA]') AND parent_object_id = OBJECT_ID(N'[dbo].[EST_SNGPC_RECEITA]'))
BEGIN
	ALTER TABLE [dbo].[EST_SNGPC_RECEITA] DROP CONSTRAINT [FK_EST_SNGPC_TIPO_DOC_EST_SNGPC_RECEITA]

	PRINT 'FOREING KEY FK_EST_SNGPC_TIPO_DOC_EST_SNGPC_RECEITA REMOVIDA COM SUCESSO.'
END

IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_EST_SNGPC_ORG_EXP_DOC_EST_SNGPC_RECEITA]') AND parent_object_id = OBJECT_ID(N'[dbo].[EST_SNGPC_RECEITA]'))
BEGIN
	ALTER TABLE [dbo].[EST_SNGPC_RECEITA] DROP CONSTRAINT [FK_EST_SNGPC_ORG_EXP_DOC_EST_SNGPC_RECEITA]

	PRINT 'FOREING KEY FK_EST_SNGPC_ORG_EXP_DOC_EST_SNGPC_RECEITA REMOVIDA COM SUCESSO.'
END


IF NOT EXISTS(
	SELECT 
		ID 
	FROM 
		SYSOBJECTS 
	WHERE 
		NAME = 'EST_PROD' AND XTYPE = 'U')
BEGIN
	SET NOCOUNT OFF
	RAISERROR('A TABELA NA QUAL O CAMPO SERÁ ADICIONADO NÃO FOI ENCONTRADA NO BANCO DE DADOS.',16,1)
END

ELSE
BEGIN
	IF NOT EXISTS (
		SELECT
			* 
		FROM 
			SYSCOLUMNS 
		WHERE 
			NAME = 'RECEITA_FLAG_TIPO_OBRIGATOREIDADE'
			AND ID IN (
				SELECT 
					ID 
				FROM 
					SYSOBJECTS 
				WHERE 
					NAME = 'EST_PROD' AND XTYPE = 'U')
		)

		BEGIN
			ALTER TABLE dbo.EST_PROD ADD RECEITA_FLAG_TIPO_OBRIGATOREIDADE INT NULL

			PRINT 'CAMPO RECEITA_FLAG_TIPO_OBRIGATOREIDADE NA TABELA EST_PROD INSERIDO COM SUCESSO.'
		END

	SET NOCOUNT OFF
END