Funções para Manipular Dados no PostgreSQL
Brian Piccolo
Sr. Director, Digital Strategy
Tipos enumerados
CREATE TYPE dayofweek AS ENUM (
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
'Sunday'
);
SELECT typname, typcategory
FROM pg_type
WHERE typname='dayofweek';
+-----------+-------------+
| typname | typcategory |
|-----------|-------------|
| dayofweek | E |
+-----------+-------------+
SELECT column_name, data_type, udt_name
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name ='film';
+-----------------------------------------------+
| column_name | data_type | udt_name |
|-------------|-------------------|-------------|
| title | character varying | varchar |
| rating | USER-DEFINED | mpaa_rating |
+-----------------------------------------------+
CREATE FUNCTION squared(i integer) RETURNS integer AS $$
BEGIN
RETURN i * i;
END;
$$ LANGUAGE plpgsql;
SELECT squared(10);
+---------+
| squared |
|---------|
| 100 |
+---------+
get_customer_balance(customer_id, effective_data): calcula o saldo em aberto atual de um cliente.
inventory_held_by_customer(inventory_id): retorna o customer_id que está alugando o item ou null se estiver disponível.
Funções para Manipular Dados no PostgreSQL