Este resumo aborda técnicas de banco de dados no PostgreSQL, com foco em Stored Procedures, Functions e Data Control Language (DCL).
Característica | Function | Procedure |
---|---|---|
Retorno | Sempre retorna um valor | Pode retornar ou não |
Chamada | Usada em SELECT, WHERE, etc. | Executada com CALL |
Uso comum | Cálculos, transformações | Ações como INSERT, DELETE |
Apenas comandos SQL básicos
Suportam lógica com IF, LOOP, variáveis
Usam C, Python, Java (maior desempenho, exigem configuração)
CREATE FUNCTION sp_ola() RETURNS TEXT LANGUAGE SQL AS $$
SELECT 'Olá, Pessoal!';
$$;
CREATE PROCEDURE nome() LANGUAGE plpgsql AS $$
BEGIN
RAISE NOTICE 'Olá, Pessoal!';
END;
$$;
CREATE FUNCTION total_clientes() RETURNS BIGINT LANGUAGE SQL AS $$
SELECT COUNT(*) FROM cliente;
$$;
Gerencia usuários, permissões e papéis no PostgreSQL.
CREATE ROLE nome_papel;
ALTER ROLE nome_papel WITH ENCRYPTED PASSWORD '123';
DROP ROLE nome_papel;
GRANT UPDATE ON tabela TO papel;
REVOKE ALL ON tabela FROM PUBLIC;
Grupos são papéis sem LOGIN
GRANT nome_grupo TO user1, user2;
REVOKE nome_grupo FROM user2;