Uma função muito útil do Postgres é a recuperação de dados de um Timestamp, abaixo executamos a extração de dia, mês e ano de um timestamp.
SELECT EXTRACT(DAY FROM TIMESTAMP '2016-02-16 00:15:00');
SELECT EXTRACT(MONTH FROM TIMESTAMP '2016-02-16 00:15:00');
SELECT EXTRACT(YEAR FROM TIMESTAMP '2016-02-16 00:15:00');
Também podemos executar de uma outra forma para obter o mesmo resultado:
SELECT date_part('YEAR', timestamp '2014-04-25 08:44:21');
SELECT date_part('MONTH', timestamp '2014-04-25 08:44:21');
SELECT date_part('DAY', timestamp '2014-04-25 08:44:21');
Um blog de tecnologia que aborda diversos assuntos sobre tecnologia e desenvolvimento web.
terça-feira, 23 de fevereiro de 2016
Criando TRIGGERS no Postgres 9.2
Um dos recursos mais simples de um SGDB e comuns à serem utilizados são as TRIGGERS ou "Gatilhos', estes executam um processo antes ou depois de uma determinada ação no banco de dados. No exemplo abaixo é inserido um registro em uma tabela após uma tabela referente sofrer alteração em seus registros.
O primeiro passo é criar uma função que será executada toda vez que a tabela referente sofrer alteração.
OBS: A variável NEW se trata dos dados que estão vindo da alteração da tabela referente.
CREATE TRIGGER TR_atualiza_tabela AFTER INSERT OR UPDATE ON tabela_referente
FOR EACH ROW EXECUTE PROCEDURE atualiza_tabela();
O primeiro passo é criar uma função que será executada toda vez que a tabela referente sofrer alteração.
OBS: A variável NEW se trata dos dados que estão vindo da alteração da tabela referente.
CREATE OR REPLACE FUNCTION atualiza_tabela () RETURNS trigger as $registro$
BEGIN
INSERT INTO tabelaX (campo1, campo2, campo3)
VALUES ( NEW.dado1, NEW.dado12, NEW.dado3,
);
RETURN NEW;
END;
$registro$ LANGUAGE plpgsql;
Agora criamos literalmente a TRIGGER que será acionada toda vez que a tabela referente sofrer alteração, chamando a função que criamos acima.
FOR EACH ROW EXECUTE PROCEDURE atualiza_tabela();
Fonte: http://www.postgresql.org/docs/9.2/static/plpgsql-trigger.html
quinta-feira, 18 de fevereiro de 2016
Convertendo caracteres no Postgres
Uma função muito útil no PostgresSQL é a conversão de encoding de caracteres de um tipo para outro. No exemplo abaixo desejo converter um caracter que está no tipo LATIN1 para o tipo UTF-8.
SELECT CONVERT_FROM(convert_to('Brotas De Macaúbas', 'LATIN1'), 'UTF-8')
Assinar:
Postagens (Atom)