 
create table InfoFiscalPW
(
    CodigoEmp           char(2)            not null,
    CodigoUnidade       char(8)            not null,
    TipoEmpresa         char(1)            not null,
    CodigoEmpresa       char(5)            not null,
    CodigoDocumento     char(10)           not null,
    Serie               char(3)            not null,
    Numero              char(8)            not null,
    Competencia         datetime           not null,
    StatusNFS           CHAR(1)            not null,
    TipoTribServ        char(2)            not null,
    Simples             CHAR(1)            not null,
    RegTribSimples      CHAR(1)            not null,
    CodServFed          char(5)            not null,
    CodServMun          char(8)            not null,
    CodServNac          char(6)            not null,
    CodServMunN         char(3)            not null,
    CodServNBS          char(9)            not null,
    CodigoCNAE          char(7)            not null,
    CodigoCAEPF         char(14)           not null,
    CodBeneficio        char(3)            not null,
    CodigoObra          char(15)           not null,
    RespTecnica         char(15)           not null,
    DocRespTecnica      char(255)          not null,    
    ObsRespTecnica      char(255)          not null,
    UFServPrest         char(2)            not null,
    CidadeServPrest     char(30)           not null,
    PaisConsumo         char(2)            not null,
    TribISSQNMun        char(1)            not null,
    PaisResultado       char(2)            not null,
    CSTPisCofins        char(2)            not null,
    BCPisCofins         dec(12,2)          not null,
    AliquotaPIS         dec(5,2)           not null,
    AliquotaCOFINS      dec(5,2)           not null,
    TipoRetPisCofins    char(1)            not null,
    ValorTribFed        dec(12,2)          not null,
    ValorTribEst        dec(12,2)          not null,
    ValorTribMun        dec(12,2)          not null,    
    PercTribFed         dec(5,2)           not null,
    PercTribEst         dec(5,2)           not null,
    PercTribMun         dec(5,2)           not null,
    IndValoresTrib      char(1)            not null,
    PercTribSimples     dec(5,2)           not null,
    Aliquota            dec(5,2)           not null,
    ValorServico        dec(12,2)          not null,
    ValorDeducao        dec(12,2)          not null,
    ValorIss            dec(12,2)          not null,
    ChaveDPS            char(45)           not null,
    ChaveNFse           char(53)           not null,
    DescServico         char(4000)         not null,
    DataAtu             datetime           not null,
    CodigoMatricula     char(15)           not null
);

  

Insert into InfoFiscalPW select CodigoEmp, CodigoUnidade, TipoEmpresa, CodigoEmpresa, CodigoDocumento, Serie, Numero, Competencia, StatusNFS, TipoTribServ, Simples,
                                RegTribSimples, CodServFed, CodServMun, CodServNac, CodServMunN, CodServNBS, CodigoCNAE, CodigoCAEPF, CodBeneficio, CodigoObra, RespTecnica,
                                DocRespTecnica, ObsRespTecnica, UFServPrest, CidadeServPrest, PaisConsumo, TribISSQNMun, PaisResultado, CSTPisCofins, BCPisCofins, AliquotaPIS,
                                AliquotaCOFINS, TipoRetPisCofins, ValorTribFed, ValorTribEst, ValorTribMun, PercTribFed, PercTribEst, PercTribMun, IndValoresTrib, PercTribSimples,
                                Aliquota, ValorServico, ValorDeducao, ValorIss, ChaveDPS||' ', ChaveNFse||'         ', DescServico, DataAtu, CodigoMatricula from InfoFiscalP;

drop table InfoFiscalP;
 
create table InfoFiscalP
(
    CodigoEmp           char(2)            not null,
    CodigoUnidade       char(8)            not null,
    TipoEmpresa         char(1)            not null,
    CodigoEmpresa       char(5)            not null,
    CodigoDocumento     char(10)           not null,
    Serie               char(3)            not null,
    Numero              char(8)            not null,
    Competencia         datetime           not null,
    StatusNFS           CHAR(1)            not null,
    TipoTribServ        char(2)            not null,
    Simples             CHAR(1)            not null,
    RegTribSimples      CHAR(1)            not null,
    CodServFed          char(5)            not null,
    CodServMun          char(8)            not null,
    CodServNac          char(6)            not null,
    CodServMunN         char(3)            not null,
    CodServNBS          char(9)            not null,
    CodigoCNAE          char(7)            not null,
    CodigoCAEPF         char(14)           not null,
    CodBeneficio        char(3)            not null,
    CodigoObra          char(15)           not null,
    RespTecnica         char(15)           not null,
    DocRespTecnica      char(255)          not null,    
    ObsRespTecnica      char(255)          not null,
    UFServPrest         char(2)            not null,
    CidadeServPrest     char(30)           not null,
    PaisConsumo         char(2)            not null,
    TribISSQNMun        char(1)            not null,
    PaisResultado       char(2)            not null,
    CSTPisCofins        char(2)            not null,
    BCPisCofins         dec(12,2)          not null,
    AliquotaPIS         dec(5,2)           not null,
    AliquotaCOFINS      dec(5,2)           not null,
    TipoRetPisCofins    char(1)            not null,
    ValorTribFed        dec(12,2)          not null,
    ValorTribEst        dec(12,2)          not null,
    ValorTribMun        dec(12,2)          not null,    
    PercTribFed         dec(5,2)           not null,
    PercTribEst         dec(5,2)           not null,
    PercTribMun         dec(5,2)           not null,
    IndValoresTrib      char(1)            not null,
    PercTribSimples     dec(5,2)           not null,
    Aliquota            dec(5,2)           not null,
    ValorServico        dec(12,2)          not null,
    ValorDeducao        dec(12,2)          not null,
    ValorIss            dec(12,2)          not null,
    ChaveDPS            char(45)           not null,
    ChaveNFse           char(53)           not null,
    DescServico         char(4000)         not null,
    DataAtu             datetime           not null,
    CodigoMatricula     char(15)           not null
);
 
Insert into InfoFiscalP select * from InfoFiscalPW;

alter table InfoFiscalP
    add constraint PK_InfoFiscalP primary key (CodigoEmp, CodigoUnidade,TipoEmpresa, CodigoEmpresa,CodigoDocumento, Serie, Numero);

alter table InfoFiscalP
    add constraint FK_InfoFiscalP_DOCP foreign key  (CodigoEmp, CodigoUnidade, TipoEmpresa, CodigoEmpresa, CodigoDocumento, Serie, Numero)
       references DocumentoP (CodigoEmp, CodigoUnidade, TipoEmpresa, CodigoEmpresa, CodigoDocumento, Serie, Numero);

alter table InfoFiscalExtP
    add constraint FK_InfoFiscalExtP_InfoFP foreign key  (CodigoEmp, CodigoUnidade, TipoEmpresa, CodigoEmpresa, CodigoDocumento, Serie, Numero)
       references InfoFiscalP (CodigoEmp, CodigoUnidade, TipoEmpresa, CodigoEmpresa, CodigoDocumento, Serie, Numero);
 
GRANT ALL ON InfoFiscalP TO BYTEC;

Drop Table InfoFiscalPW;

commit;