Subversion Repositories Integrator Subversion

Rev

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;