Blame |
Last modification |
View Log
| Download
| RSS feed
/*========tur===================================================*/
/* DBMS name: PostgreSQL 8 */
/* Criado em: 21/04/2017 */
/* Autor: Bruno Lopes Peixoto */
/*==============================================================*/
SET search_path = sc_sec;
CREATE SEQUENCE sq_atendimentovivo
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_atendimentovivo owner TO sc_sec;
CREATE SEQUENCE sq_linhavivo
INCREMENT 1
minvalue 1
maxvalue 99999999
START 1;
ALTER TABLE sq_linhavivo owner TO sc_sec;
/*==============================================================*/
/* Table: sec_linha_vivo */
/*==============================================================*/
CREATE TABLE sec_linha_vivo (
seq_linha_vivo INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_linhavivo'::regclass),
seq_cliente INT8 NULL,
dsc_numero VARCHAR(12) NOT NULL,
dth_atualizacao TIMESTAMP NOT NULL,
CONSTRAINT pk_linhavivo PRIMARY KEY (seq_linha_vivo)
);
-- set table ownership
ALTER TABLE sec_linha_vivo owner TO sc_sec
;
/*==============================================================*/
/* Index: uk_numero */
/*==============================================================*/
CREATE UNIQUE INDEX uk_numero ON sec_linha_vivo (
dsc_numero
);
ALTER TABLE sec_linha_vivo
ADD CONSTRAINT fk_linhavivo_cliente FOREIGN KEY (seq_cliente)
REFERENCES sec_cliente (seq_cliente)
ON DELETE RESTRICT ON UPDATE RESTRICT;
/*==============================================================*/
/* Table: sec_atendimento_vivo */
/*==============================================================*/
CREATE TABLE sec_atendimento_vivo (
seq_atendimento_vivo INT8 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_atendimentovivo'::regclass),
seq_vendedor INT8 NOT NULL,
seq_linha_vivo INT8 NOT NULL,
dsc_atendimento VARCHAR(1000) NOT NULL,
dth_atendimento TIMESTAMP NOT NULL,
tip_atendimento CHAR(1) NOT NULL
CONSTRAINT ck_atendimento_tipo CHECK (tip_atendimento IN ('P','T')),
CONSTRAINT pk_atendimentovivo PRIMARY KEY (seq_atendimento_vivo)
);
comment ON COLUMN sec_atendimento_vivo.tip_atendimento IS
'Valores possíveis:
P - Pós-venda
T - Telemarketing';
-- set table ownership
ALTER TABLE sec_atendimento_vivo owner TO sc_sec
;
ALTER TABLE sec_atendimento_vivo
ADD CONSTRAINT fk_atendimentovivo_linhavivo FOREIGN KEY (seq_linha_vivo)
REFERENCES sec_linha_vivo (seq_linha_vivo)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_atendimento_vivo
ADD CONSTRAINT fk_atendimentovivo_vendedor FOREIGN KEY (seq_vendedor)
REFERENCES sec_vendedor (seq_vendedor)
ON DELETE RESTRICT ON UPDATE RESTRICT;
ALTER TABLE sec_venda_vivo ADD seq_linha_vivo INT8 NULL;
ALTER TABLE sec_venda_vivo
ADD CONSTRAINT fk_vendavivo_linhavivo FOREIGN KEY (seq_linha_vivo)
REFERENCES sec_linha_vivo (seq_linha_vivo)
ON DELETE RESTRICT ON UPDATE RESTRICT;
UPDATE sc_sec.sec_venda_vivo SET dsc_numero = SUBSTRING(REPLACE(REPLACE(REPLACE(REPLACE(dsc_observacao, ' ', ''), '-', ''), '(', ''), ')', '') FROM 0 FOR 12) WHERE dsc_numero LIKE '82';
INSERT INTO sc_sec.sec_linha_vivo (dsc_numero, dth_atualizacao) SELECT DISTINCT(dsc_numero), MAX(dth_venda) FROM sc_sec.sec_venda_vivo GROUP BY dsc_numero;
UPDATE sc_sec.sec_venda_vivo e SET seq_linha_vivo = (SELECT v.seq_linha_vivo FROM sc_sec.sec_linha_vivo v WHERE e.dsc_numero = v.dsc_numero);
UPDATE sc_sec.sec_linha_vivo e SET seq_cliente = (SELECT v.seq_cliente FROM sc_sec.sec_venda_vivo v WHERE e.seq_linha_vivo = v.seq_linha_vivo GROUP BY v.seq_cliente, v.seq_linha_vivo HAVING v.seq_cliente IS NOT NULL);
ALTER TABLE sc_sec.sec_venda_vivo ALTER COLUMN seq_linha_vivo SET NOT NULL;
ALTER TABLE sc_sec.sec_venda_vivo DROP COLUMN dsc_numero;
ALTER TABLE sc_sec.sec_venda_vivo DROP COLUMN seq_cliente;
SET search_path = public;