Você está na página 1de 12

II SECOMP Departamento de Computao UNEMAT Cceres

Funes no PostgreSQL
Marcos Paulo de Mesquita

Roteiro
Stored Procedure Gatilhos (Triggers) Regras (Rules)

Stored Procedures
Stored Procedures no PostgreSQL so funes definidas em alguma linguagem de procedimentos suportada. Atualmente existem: PL/PgSQL, PL/Java, PL/PHP, entre outras.

Exemplo
CREATE FUNCTION populate () RETURNS integer AS ' DECLARE -- declarations BEGIN perform my_function(); END; 'LANGUAGE plpgsql;

Formao de procedures em plpgSQL


Functions Comandos em SQL

Comandos em plpgSQL

Quando usar?
Adicionar estrutura de controle para a linguagem SQL; Clculos mais complexos; Herana de tipos de dados, operadores

Exemplos de declaraes de variveis:


user_id quantity url myrow myfield arow integer; numeric(5); varchar(20); tablename%ROWTYPE; tablename.columnname%TYPE; RECORD;

Exemplo 2
CREATE FUNCTION sales_tax(real) RETURN real as ' DECLARE subtotal ALIAS FOR $1; BEGIN RETURN subtotal * 0.06; END; ' LANGUAGE plpgsql

Regras
as rules (regras em portugus) no fazem parte do SQL standard, mas so implementadas pelo PostgreSQL permitem especificar uma ao alternativa que ser executada em selects, inserts, updates, ou deletes.

Sintaxe:
CREATE RULE name AS ON event TO object [WHERE rule_qualification] DO [INSTEAD] [ action | (actions) | NOTHING];

Triggers
um trigger permite que uma determinada sequncia de comandos SQL seja acionada quando um determinado evento ocorre. o evento pode ser INSERT, UPDATE, ou DELETE. o trigger pode ser acionado imediatamente antes (BEFORE) ou imediatamente depois (AFTER) de cada evento. o procedimento pode ser programado numa linguagem qualquer desde que devidamente instalada no servidor do SGBD.

Referncias
Apostila PostgreSQL: http://www.dnocs.gov.br/php/util/downloads http://www.deei.fct.ualg.pt/~flobo/bd/slides/ aula22.pdf Manual PostgreSQL:

Você também pode gostar