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; |