Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- -- SUBCONSULTA: Nome dos funcionários que tiveram o salário alterado a partir de 2016:
- SELECT nome FROM funcionario WHERE EXISTS (SELECT * FROM historico_pagamento_funcionario WHERE data > '2016-01-01');
- -- SUBCONSULTA: Nome dos funcionários que estavam trabalhando no dia '2016-02-01':
- SELECT nome FROM funcionario WHERE EXISTS (SELECT * FROM ponto_horas WHERE data_entrada = '2016-02-01 08:00:00');
- -- VIEW: EQUIPE + CLIENTE:
- CREATE VIEW equipe_para_cliente (cliente, nome, area) AS SELECT cliente.nome, funcionario.nome, area_atuacao.area FROM funcionario, area_atuacao, cliente WHERE funcionario.id_area = area_atuacao.id AND funcionario.id = cliente.id;
- -- VIEW: CLIENTE + PAGAMENTOS:
- CREATE VIEW cliente_pagamentos (cliente, valor, data) AS SELECT cliente.nome, historico_pagamento_cliente.valor, historico_pagamento_cliente.data FROM cliente, historico_pagamento_cliente WHERE cliente.id = historico_pagamento_cliente.id_cliente;
- -- ÍNDICE: PONTO DE HORAS:
- CREATE INDEX indice_ponto_horas ON ponto_horas USING HASH (id);
- -- ÍNDICE: HISTÓRICO DE PAGAMENTOS DOS CLIENTES:
- CREATE INDEX indice_pagamentos_cliente ON historico_pagamento_cliente USING HASH (id);
- -- TRIGGER: Criar histórico de mudança de e-mails dos clientes (empresas)
- CREATE OR REPLACE FUNCTION historico_email_cliente() RETURNS TRIGGER AS $$
- BEGIN
- IF NEW.email <> OLD.email THEN
- INSERT INTO historico_email_cliente (empresa,email,data_mudanca) VALUES (empresa.nome,empresa.email,now());
- END IF;
- RETURN NEW;
- END;
- $$ Language plpgsql;
- CREATE TRIGGER historico_email_cliente
- AFTER UPDATE ON cliente
- FOR EACH ROW
- EXECUTE PROCEDURE historico_email_cliente();
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement