Sei sulla pagina 1di 4

select *from cliente; select *from vendedor; select *from pedido; select *from produto; select *from item;

--tabela cliente$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ create table cliente ( id_cliente int primary key, nome_cliente int, cpf_cliente int, telefone_cliente varchar, bairro_cliente varchar, rua_cliente varchar, cep_cliente int ); --tabela vendedor$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ create table vendedor ( id_vendedor int primary key, nome_vendedor varchar, valor_comissao float ); --tabela pedido$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ create table pedido ( id_pedido int primary key, id_cliente int, id_vendedor int, data_pedido date ); alter table pedido add foreign key (id_cliente) references cliente (id_cliente); alter table pedido add foreign key (id_vendedor) references vendedor (id_vendedo r); --tabela item$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ create table item ( id_pedido int, id_produto int, QTD_item_produto int, valor_item_venda float alter table item add foreign key (id_pedido) references pedido(id_pedido); alter table item add foreign key (id_produto) references produto(id_produto); ); --insert cliente$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ create table produto ( id_produto int primary key, nome_produto varchar, valor_produto float, QTD_produto_estoque int, tipo_produto varchar );

--insert vendedor$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ insert into cliente(id_cliente, nome_cliente, cpf_cliente, telefone_cliente, bai rro_cliente, rua_cliente, cep_cliente) values(1, '1', 12345, 9999999, 'santa_luzia', 'acacia',62700); insert into cliente(id_cliente, nome_cliente, cpf_cliente, telefone_cliente, bai rro_cliente, rua_cliente, cep_cliente) values(3, '2', 22222, 77777, 'monte', 'juca',62730); --insert vendedor$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ insert into vendedor(id_vendedor, nome_vendedor, valor_comissao) values(1, 'jose',5); insert into vendedor(id_vendedor, nome_vendedor, valor_comissao) values(2, 'maria',6); --insert pedido$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ insert into pedido(id_pedido, id_cliente, id_vendedor, data_pedido) values(1, 1, 1, '2013-12-12'); insert into pedido(id_pedido, id_cliente, id_vendedor, data_pedido) values(2, 2, 2, '2013-12-11'); --insert produto$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ insert into produto(id_produto, nome_produto, valor_produto, qtd_produto_estoque , tipo_produto) values(1, 'feijao', 2, 10, 'alimenticio'); insert into produto(id_produto, nome_produto, valor_produto, qtd_produto_estoque , tipo_produto) values(3, 'sabo', 3, 3, 'Limpeza'); insert into item(id_pedido, id_produto, qtd_item_produto, valor_item_venda) values(1, 1, 10, 2); insert into item(id_pedido, id_produto, qtd_item_produto, valor_item_venda) values(1, 1, 11, 3); --a) Uma funo que insira um registro, tendo no mnimo trs parmetros de entrada$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ create or replace function inserir_cliente(f_id_cliente int, f_nome_cliente int, f_bairro_cliente varchar) returns void as $$ begin insert into cliente(id_cliente, nome_cliente, bairro_cliente) values (f_id_cli ente, f_nome_cliente, f_bairro_cliente); end; $$language 'plpgsql'; select *from inserir_cliente(2, 2, 'palestina'); --b) Uma funo que delete um registro tendo um parmetro de entrada (condio no where).$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ create or replace function delete_nome_vendedor(f_nome_vendedor varchar) returns void as $$ begin

delete from vendedor where nome_vendedor = f_nome_vendedor; end; $$language 'plpgsql'; select delete_nome_vendedor ('maria'); --c) Uma funo que selecione um conjunto de dados a partir de dois parmetros de entr ada e traga 5 colunas (2 condies no where). create or replace function lista_pedido( f_id_cliente int, f_id_pedido int) returns table(id_cliente int, id_pedido int, id_vendedor int, data_pedido date) as $$ begin return query select cliente.id_cliente, pedido.id_pedido, vendedor.id_vendedo r, pedido.data_pedido from pedido, cliente, vendedor where cliente.id_cliente = pedido.id_cliente and vendedor.id_vendedor = pedido.id_vendedor; end; $$language 'plpgsql'; select lista_pedido(2,2); drop function listar_pedido; --d) Uma funo que atualize um registro a partir de um parmetro de entrada.$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4 create or replace function atualisar_data( f_data_pedido date, f2_data_pedido da te) returns table (id_cliente int, id_pedido int, id_vendedor int, data_pedido date) as $$ begin update pedido set data_pedido = f_data_pedido where pedido.data_pedido = f2_dat a_pedido; return query select cliente.id_cliente, pedido.id_pedido, vendedor.id_vendedor, pedido.data_pedido from pedido, cliente, vendedor where cliente.id_cliente = pedido.id_cliente and vendedor.id_vendedor = pedido.id_vendedor; end; $$language 'plpgsql'; select atualisar_data( '2013-3-10', '2013-1-09'); -- Function: gera_log() -- DROP FUNCTION gera_log(); CREATE OR REPLACE FUNCTION gera_log() RETURNS trigger AS $BODY$ begin insert into log(data, autor, alterada)

values(now(), user, TG_OP); return new; end; $BODY$ LANGUAGE plpgsql VOLATILE COST 100; ALTER FUNCTION gera_log() OWNER TO postgres;

Potrebbero piacerti anche