PL/SQL
Funções analiticas LAG/LEAD
Ambas as funções tem como sua sintaxe parecidas:
LAG (value_expression [,offset] [,default]) OVER ([query_partition_clase] order_by_clause)
LEAD (value_expression [,offset] [,default]) OVER ([query_partition_clase] order_by_clause)
LAG
Esta é uma função analitica. Que provem o acesso a mais que um registro de uma tabela ao mesmo tempo sem precisar fazer um join na própria tabela self join. A busca irá retornar uma [...]
Fake/Virtual Index (Indice Virtual)
Após muitas leituras sobre tuning e performance, achei algo interessante e rápido para postar aqui no site e que possa ser muito util para os programadores e administradores de Banco Oracle.
Preciso melhorar a performance do meu SQL, será que esse indice vai me ajudar?
Uma boa pergunta, pois até então criar um indice em uma tabela [...]
Query’s SQL para XML
Rapidinha: O oracle tem como default a função de transformar query’s sql para XML
Exemplo:
set long 5000
set pagesize 5000
set linesize 132
select
dbms_xmlgen.getxml(’select * from user_tables’) XMLQUERY
from dual;
Pivot ou CrossTab (invertendo linhas em colunas)
Imagine você está tentando para criar um jogo de resultados onde os registros precisam ser colunas, ou vice-versa.
A essência, você precisa “girar” os registros em colunas, ou vice-versa.
Muitas vezes há relatorios que exigêm isto e para que não precisarmos de criar functions ou qualquer outra coisa para solucionar isso podemos usar o chamado pivot ou [...]
Criptografando em MD5 no Oracle
Esses dias um cliente me solicitou algo para criptografar senhas, já conhecia a package dba_obfuscation_toolkit e ai fui pesquisar mais sobre e achei uma forma otima para criptografar a senha em MD5, assim fiz a função dentro do owner do sistema que faz esta conversão:
create or replace function md5 (valor varchar) return varchar2 is
[...]
