31 dez

Oracle – Criando um índice de unicidade condicional

Você já se deparou com alguma regra de negócio onde você precisa garantir unicidade somente para alguns tipos de registros dentro de uma tabela?

Um exemplo comum é garantir que a flag principal dentro de uma tabela de e-mail ou telefone seja única para cada pessoa e não na tabela como um todo

Um artifício interessante para criar um índice de unicidade condicional é utilizando o DECODE.

Veja uma exemplo abaixo:

CREATE UNIQUE INDEX MEU_SCHEMA.IX_TELEFONE_PRINCIPAL ON MEU_SCHEMA.TELEFONE
(
    DECODE("ST_PRINCIPAL",'S',TO_CHAR("ID_PESSOA"),'N',TO_CHAR("ID_PESSOA")||':'||TO_CHAR("ID_TELEFONE"),NULL) ASC
)
TABLESPACE  I_MEU_SCHEMA;
31 dez

Oracle – Consulta ao último registro de uma tabela histórico com “WITH”

Um artifício interessante para melhorar a performance de consultas históricos é a utilização do WITH.
Veja uma exemplo abaixo:

WITH 
    MEU_ALIAS_PARA_HISTORICO 
AS
(
    SELECT * FROM MEU_SCHEMA.MINHA_TABELA_HISTORICO
)
SELECT A.* 
FROM MEU_ALIAS_PARA_HISTORICO A,
(
    SELECT ID_TABELA_HISTORICO, MAX(DH_TABELA_HISTORICO) DH_TABELA_HISTORICO
    FROM MEU_ALIAS_PARA_HISTORICO
    GROUP BY ID_TABELA_HISTORICO
) B
WHERE A.ID_TABELA_HISTORICO = B.ID_TABELA_HISTORICO
AND A.DH_TABELA_HISTORICO = B.DH_TABELA_HISTORICO;
30 dez

Ubuntu 14.04 – FreeCAD

Instale o repositório e em seguida instale o freecad

#Instale a atualização
sudo add-apt-repository ppa:freecad-maintainers/freecad-daily
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install freecad freecad-doc
30 dez

Ubuntu 14.04 – Habilitando icones no systray

Instale esse repositório e atualize o unity

#Instale a atualização
sudo add-apt-repository ppa:gurqn/systray-trusty
sudo apt-get update
sudo apt-get upgrade
#Execute o unity ou feche a sua sessão
unity