Subversion Repositories Integrator Subversion

Rev

Rev 171 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

/*========tur===================================================*/
/* DBMS name:     PostgreSQL 8                                  */
/* Criado em:     23/04/2021                                        */
/* Autor: Bruno Lopes Peixoto                                       */
/*==============================================================*/

SET search_path = sc_sec;

/*==============================================================*/
/* Table: sec_papel                                             */
/*==============================================================*/
CREATE TABLE sec_papel (
   cod_papel            INT8                 NOT NULL,
   dsc_papel            VARCHAR(120)         NOT NULL,
   CONSTRAINT pk_papel PRIMARY KEY (cod_papel)
);

-- set table ownership
ALTER TABLE sec_papel owner TO espacoc_sc_sec
;

/*==============================================================*/
/* Table: sec_pessoa_papel                                      */
/*==============================================================*/
CREATE TABLE sec_pessoa_papel (
   seq_pessoa           INT8                 NOT NULL,
   cod_papel            INT8                 NOT NULL,
   CONSTRAINT pk_pessoapapel PRIMARY KEY (seq_pessoa, cod_papel)
);

-- set table ownership
ALTER TABLE sec_pessoa_papel owner TO espacoc_sc_sec
;

ALTER TABLE sec_pessoa_papel
   ADD CONSTRAINT fk_papel_pessoapapel FOREIGN KEY (cod_papel)
      REFERENCES sec_papel (cod_papel)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

ALTER TABLE sec_pessoa_papel
   ADD CONSTRAINT fk_pessoa_pessoapapel FOREIGN KEY (seq_pessoa)
      REFERENCES sec_pessoa (seq_pessoa)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

INSERT INTO sec_papel(cod_papel, dsc_papel) VALUES (1, 'CLIENTE');
INSERT INTO sec_papel(cod_papel, dsc_papel) VALUES (2, 'COLABORADOR');
INSERT INTO sec_papel(cod_papel, dsc_papel) VALUES (3, 'FORNECEDOR');
INSERT INTO sec_papel(cod_papel, dsc_papel) VALUES (4, 'TÉCNICO');

INSERT INTO sec_pessoa_papel(seq_pessoa, cod_papel) SELECT f.seq_pessoa, 2 FROM sec_funcionario f WHERE seq_pessoa = f.seq_pessoa;
INSERT INTO sec_pessoa_papel(seq_pessoa, cod_papel) SELECT f.seq_pessoa, 3 FROM sec_fornecedor f WHERE seq_pessoa = f.seq_pessoa;
         
ALTER TABLE sec_pessoa ADD COLUMN tip_pessoa CHAR(1) NULL
      CONSTRAINT ck_pessoa_tipo CHECK (tip_pessoa IS NULL OR (tip_pessoa IN ('F','J')));
comment ON COLUMN sec_pessoa.tip_pessoa IS
'Valores possíveis:
F - FÍSICA
J - JURÍDICA'
;

UPDATE sec_pessoa SET tip_pessoa = 'F';
         
ALTER TABLE sec_pessoa ADD COLUMN dsc_contato VARCHAR(120) NULL;
ALTER TABLE sec_pessoa ADD COLUMN ind_novidades BOOL NULL;
ALTER TABLE sec_pessoa ADD COLUMN ind_inscricao_estadual_isento BOOL NULL;
UPDATE sec_pessoa SET ind_inscricao_estadual_isento = FALSE;
ALTER TABLE sec_funcionario ADD COLUMN dsc_tamanho_fardamento VARCHAR(3) NULL;

ALTER TABLE sec_pessoa ADD COLUMN seq_modelo_cliente INT8 NULL;
ALTER TABLE sec_pessoa
   ADD CONSTRAINT fk_pessoa_modelo FOREIGN KEY (seq_modelo_cliente)
      REFERENCES sec_modelo (seq_modelo)
      ON DELETE RESTRICT ON UPDATE RESTRICT;

/* MIGRAR DADOS DE FUNCIONÁRIOS PARA TABELA DE FUNCIONÁRIO */
UPDATE sec_funcionario f SET dsc_tamanho_fardamento = (SELECT dsc_tamanho_fardamento FROM sec_pessoa p WHERE f.seq_pessoa = p.seq_pessoa);
ALTER TABLE sec_pessoa DROP COLUMN dsc_tamanho_fardamento;

/* MIGRAÇÃO DOS CLIENTES PARA PESSOA */

/*  */

SET search_path = public;