Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
/*========tur===================================================*/
2
/* DBMS name:     PostgreSQL 8                                  */
3
/* Criado em:     21/04/2017                                        */
4
/* Autor: Bruno Lopes Peixoto                                       */
5
/*==============================================================*/
6
 
7
SET search_path = sc_sec;
8
 
9
CREATE SEQUENCE sq_atendimentovivo
10
INCREMENT 1
11
minvalue 1
12
maxvalue 99999999
13
START 1;
14
 
15
ALTER TABLE sq_atendimentovivo owner TO sc_sec;
16
 
17
CREATE SEQUENCE sq_linhavivo
18
INCREMENT 1
19
minvalue 1
20
maxvalue 99999999
21
START 1;
22
 
23
ALTER TABLE sq_linhavivo owner TO sc_sec;
24
 
25
/*==============================================================*/
26
/* Table: sec_linha_vivo                                        */
27
/*==============================================================*/
28
CREATE TABLE sec_linha_vivo (
29
   seq_linha_vivo       INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_linhavivo'::regclass),
30
   seq_cliente          INT8                 NULL,
31
   dsc_numero           VARCHAR(12)          NOT NULL,
32
   dth_atualizacao      TIMESTAMP            NOT NULL,
33
   CONSTRAINT pk_linhavivo PRIMARY KEY (seq_linha_vivo)
34
);
35
 
36
-- set table ownership
37
ALTER TABLE sec_linha_vivo owner TO sc_sec
38
;
39
/*==============================================================*/
40
/* Index: uk_numero                                             */
41
/*==============================================================*/
42
CREATE UNIQUE INDEX uk_numero ON sec_linha_vivo (
43
dsc_numero
44
);
45
 
46
ALTER TABLE sec_linha_vivo
47
   ADD CONSTRAINT fk_linhavivo_cliente FOREIGN KEY (seq_cliente)
48
      REFERENCES sec_cliente (seq_cliente)
49
      ON DELETE RESTRICT ON UPDATE RESTRICT;
50
 
51
/*==============================================================*/
52
/* Table: sec_atendimento_vivo                                  */
53
/*==============================================================*/
54
CREATE TABLE sec_atendimento_vivo (
55
   seq_atendimento_vivo INT8                 NOT NULL DEFAULT NEXTVAL('sc_sec.sq_atendimentovivo'::regclass),
56
   seq_vendedor         INT8                 NOT NULL,
57
   seq_linha_vivo       INT8                 NOT NULL,
58
   dsc_atendimento      VARCHAR(1000)        NOT NULL,
59
   dth_atendimento      TIMESTAMP            NOT NULL,
60
   tip_atendimento      CHAR(1)              NOT NULL
61
      CONSTRAINT ck_atendimento_tipo CHECK (tip_atendimento IN ('P','T')),
62
   CONSTRAINT pk_atendimentovivo PRIMARY KEY (seq_atendimento_vivo)
63
);
64
 
65
comment ON COLUMN sec_atendimento_vivo.tip_atendimento IS
66
'Valores possíveis:
67
P - Pós-venda
68
T - Telemarketing';
69
 
70
-- set table ownership
71
ALTER TABLE sec_atendimento_vivo owner TO sc_sec
72
;
73
ALTER TABLE sec_atendimento_vivo
74
   ADD CONSTRAINT fk_atendimentovivo_linhavivo FOREIGN KEY (seq_linha_vivo)
75
      REFERENCES sec_linha_vivo (seq_linha_vivo)
76
      ON DELETE RESTRICT ON UPDATE RESTRICT;
77
 
78
ALTER TABLE sec_atendimento_vivo
79
   ADD CONSTRAINT fk_atendimentovivo_vendedor FOREIGN KEY (seq_vendedor)
80
      REFERENCES sec_vendedor (seq_vendedor)
81
      ON DELETE RESTRICT ON UPDATE RESTRICT;
82
 
83
ALTER TABLE sec_venda_vivo ADD seq_linha_vivo INT8 NULL;
84
 
85
ALTER TABLE sec_venda_vivo
86
   ADD CONSTRAINT fk_vendavivo_linhavivo FOREIGN KEY (seq_linha_vivo)
87
      REFERENCES sec_linha_vivo (seq_linha_vivo)
88
      ON DELETE RESTRICT ON UPDATE RESTRICT;
89
 
90
 
91
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';
92
 
93
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;
94
 
95
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);
96
 
97
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);
98
 
99
ALTER TABLE sc_sec.sec_venda_vivo ALTER COLUMN seq_linha_vivo SET NOT NULL;
100
 
101
ALTER TABLE sc_sec.sec_venda_vivo DROP COLUMN dsc_numero;
102
 
103
ALTER TABLE sc_sec.sec_venda_vivo DROP COLUMN seq_cliente;  
104
 
105
SET search_path = public;