sexta-feira, 28 de junho de 2013

Um jeito diferente de caminhar até a sua casa

Preferencialmente Abra o link no Google Chrome


Informe o endereço da sua casa ou outro lugar e pronto

A Vodka - Buche de Belvedere Vodka

Em homenagem aos famosos prata bétulas emblemáticos da marca, Belvedere foi escolhido para "calafetar" em um deles e se transformar em balde de gelo para uma degustação perfeita.

Sob a casca de metal cromado esconde um coração de concurso vidoeiro, casa de uma garrafa de Belvedere Pure 70 cl.

Apresentado em uma base de acrílico transparente e elegante, a parte central do tronco nos bastidores e mostra a garrafa na seção oca.

Esta garrafa removido deixa espaço para um recipiente de gelo. O log é delgado, levando a folha de azevinho inseparável, enquanto a versão metálica.

Buche de Belvedere Vodka é limitada a apenas 25 peças, disponível exclusivamente na Colette por 250 €.



Fonte: http://www.legitlifestyle.com/repostitory/buche-de-belvedere-vodka-for-christmas-2011/
Tradução: Google Translate
Preço: Conversão 250 Euros para Real

quinta-feira, 27 de junho de 2013

Split no Oracle


SELECT SUBSTR(t.column_one, 1, INSTR(t.column_one, ' ')-1) AS col_one,
       SUBSTR(t.column_one, INSTR(t.column_one, ' ')+<<num char do separador>>) AS col_two
  FROM YOUR_TABLE t

Fonte: http://stackoverflow.com/questions/5199849/split-varchar-into-separate-columns-in-oracle

terça-feira, 18 de junho de 2013

HQL com clausula ON nos JOIN


SELECT {msg.*}, {cmd.*} 
FROM Schema.Messages AS msg 
  LEFT OUTER JOIN schema.send_commands AS cmd 
    ON cmd.message_key = msg.unique_key 
    AND ( lower(cmd.status) IN (lower('failed') ) ) 
WHERE msg.sequence_received < 10";

SELECT m, c 
FROM Message m LEFT JOIN m.commands c WITH (lower(c.status) = 'failed')
WHERE m.sequenceReceived < 10
Fonte: http://stackoverflow.com/questions/6345052/hibernate-hql-joins-on-many-clauses

quinta-feira, 13 de junho de 2013

Querys recursivas no banco de dados oracle


Querys Recursivas no Oracle

Segue um exemplo prático de como fazer querys recursivas no Oracle, usando genealogia.


artefato/Programa..: querys_recursivas_no_oracle
-- Empresa.................:
-- Data Inicio ............: 07/04/2011
-- Data Atual..............: 22/07/2011
-- Versao..................: 0.01
-- Compilador/Interpretador: Oracle
-- Sistemas Operacionais...: Linux/Windows/Outros SOs
-- SGBD....................: Oracle 9i/10g/11g
-- Kernel..................: Nao informado!
-- Finalidade..............: uso de querys recursivas no oracle com com start with ... connect by ...
-- ........................:
-- OBS.....................:
--
/* testando no oracle com start with ... connect by */
--DROP TABLE genealogia;
CREATE TABLE genealogia
(
    id_genealogia integer     PRIMARY KEY
  , nome varchar2(25)         NOT NULL
  , id_genealogia_pai integer NULL --FOREIGN KEY fk_genealogia REFERENCES genealogia(id_genealogia)
);
--TRUNCATE TABLE genealogia;
SELECT * FROM genealogia;
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (1,'ABRAÃO',NULL);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (2,'ISAC',1);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (3,'ESAÚ',2);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (4,'JACÓ',2);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (5,'RÚBEN',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (6,'SIMEÃO',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (7,'LEVI',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (8,'JUDÁ',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (9,'ISSACAR',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (10,'ZEBULON',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (11,'JOSÉ',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (12,'BENJAMIM',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (13,'DÃ',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (14,'NAFTALI',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (15,'GADE',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (16,'ASER',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (17,'DINÁ',4);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (18,'PEREZ',8);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (19,'ZERA',8);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (20,'ESRON',18);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (21,'ARÃO ',20);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (22,'AMINADABE',21);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (23,'NASSON',22);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (24,'SALMON',23);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (25,'BOAZ',24);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (26,'OBEDE',25);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (27,'JESSÉ',26);
INSERT INTO genealogia (id_genealogia, nome, id_genealogia_pai) VALUES (28,'DAVI',27);
SELECT * FROM genealogia;
--query 1, AUTO RELACIONAMENTO
            SELECT g1.nome
                 , g1.id_genealogia
                 , g2.id_genealogia_pai
              FROM genealogia g1
         LEFT JOIN genealogia g2
                ON g1.id_genealogia = g2.id_genealogia_pai
                 ;  
--query 2, CONNECT BY PRIOR
            SELECT nome
                 , id_genealogia
                 , id_genealogia_pai
              FROM genealogia
  CONNECT BY PRIOR id_genealogia = id_genealogia_pai
                 ;  
--query 3, LEVEL             
            SELECT nome
                 , id_genealogia
                 , id_genealogia_pai
                 , LEVEL
              FROM genealogia
  CONNECT BY PRIOR id_genealogia = id_genealogia_pai
                 ;  
--query 4,  START WITH
            SELECT nome
                 , id_genealogia
                 , id_genealogia_pai
                 , LEVEL
              FROM genealogia
        START WITH id_genealogia = 4  --JACÓ
  CONNECT BY PRIOR id_genealogia = id_genealogia_pai
          ORDER BY LEVEL ASC
                 ;
                  
--query 5, COM ARVORE
            SELECT RPAD(LPAD(' ', 5*(LEVEL-1))||nome,30) AS arvore 
                 , nome
                 , id_genealogia
                 , id_genealogia_pai
                 , LEVEL
              FROM genealogia
        START WITH id_genealogia = 1
  CONNECT BY PRIOR id_genealogia = id_genealogia_pai
          ORDER BY LEVEL ASC
                 ;
--query 6, SYS_CONNECT_BY_PATH
            SELECT LPAD(' ', 5*(LEVEL-1)) || nome AS representacao_arvore1
                 , SYS_CONNECT_BY_PATH(nome, '/') AS represencao_arvore2 
                 , nome
                 , id_genealogia
                 , id_genealogia_pai
                 , LEVEL
              FROM genealogia
        START WITH id_genealogia = 1
  CONNECT BY PRIOR id_genealogia = id_genealogia_pai
          ORDER BY LEVEL ASC
                 ;
--query 7, ORDER SIBLINGS BY
            SELECT LPAD(' ', 5*(LEVEL-1)) || nome AS representacao_arvore1
                 , SYS_CONNECT_BY_PATH(nome, '/') AS represencao_arvore2 
                 , nome
                 , id_genealogia
                 , id_genealogia_pai
                 , LEVEL
              FROM genealogia
        START WITH id_genealogia = 1
  CONNECT BY PRIOR id_genealogia = id_genealogia_pai
 ORDER SIBLINGS BY nome ASC
                 ;
                  
--query 8, CONNECT_BY_ROOT
CREATE OR REPLACE  VIEW  vw_genealogia  AS
            SELECT LPAD('>', 5*(LEVEL-1)) || nome AS representacao_arvore1
                 , SYS_CONNECT_BY_PATH(nome, '\') AS represencao_arvore2 
                 , CONNECT_BY_ROOT nome AS raiz
                 , nome
                 , id_genealogia
                 , id_genealogia_pai
                 , LEVEL AS nivel
              FROM genealogia
        START WITH id_genealogia = 1
--CONNECT BY NOCYCLE PRIOR  id_genealogia = id_genealogia_pai
  CONNECT BY PRIOR id_genealogia = id_genealogia_pai
 --ORDER SIBLINGS BY level  ASC
ORDER  BY level  ASC;
SELECT * FROM vw_genealogia;