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;