IF OBJECT_ID('GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC') IS NULL 
BEGIN
	CREATE TABLE GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC(
		CD_CTR_REGRA_UF BIGINT NOT NULL,
		CD_CARAC CHAR(1) NOT NULL,
		FINALIDADE SMALLINT,
		CFOP VARCHAR(10),
		CFOPST VARCHAR(10),
		CST VARCHAR(10),
		CSOSN varchar(10),
		ALIQ_ICMS_INTERNA MONEY,
		ALIQ_ICMS_INTER_EST MONEY,
		PERC_REDU_BC MONEY,
		PERC_REDU_BC_ST MONEY,
		PERC_REDU_BC_INTER_EST MONEY,
		ALIQ_ICMS_ST MONEY,
		PERC_IVA MONEY,
		PERC_IVA_AJUSTADO MONEY,
		PERC_FCP MONEY,
		CD_BENEF VARCHAR(50),
		PERC_DIFERIMENTO MONEY,
		PERC_ISENCAO MONEY,
		ANTECIPADO CHAR(1),
		DESONERADO CHAR(1),
		ISENTO CHAR(1),
		AMP_LEGAL VARCHAR(1000));
END

GO

IF OBJECT_ID('PK_GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC') IS NULL 
BEGIN
	ALTER TABLE GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC ADD CONSTRAINT PK_GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC PRIMARY KEY (CD_CTR_REGRA_UF, CD_CARAC);
END

GO 

IF OBJECT_ID('FK_GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC_GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF') IS NULL 
BEGIN
	ALTER TABLE GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC ADD CONSTRAINT FK_GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF_CARAC_GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF FOREIGN KEY(CD_CTR_REGRA_UF) REFERENCES GT_RETORNO_CABECALHO_GRUPOS_PRODUTOS_REGRA_UF(CD_CTR);
END
