Como usar Índices Virtuais – NOSEGMENT INDEXES

Essa é para quem faz tunning de SQL. Digamos que você quer verificar se a criação de um novo í­ndice vai ser realmente usada pelo otimizador. Antes de criá-lo, você pode testar se ele resolverá seu problema atraves de INDICE VIRTUAL.

Read the rest of this entry »

Potência em PL/SQL sem usar função POWER

Todos conhecem a função do Oracle que faz a potêcia: o POWER. Abaixo, vamos demonstrar como elevar números sem usar essa função.

Read the rest of this entry »

Ver Plano de execução de um SQL rodando

Imagine que você rodou um SQL que está demorando muito. O Trace está desligado e você quer saber o que pode estar errado com o SQL. Com essa dica, você enxerga o plano de execução deste SQL.

Read the rest of this entry »

Bloco do Forms baseado numa VIEW

Uma coisa muito útil no Forms é poder basear os blocos em Views. Vamos a um breve exemplo: Digamos que uma tabela contenha os itens de um pedido. Obviamente, apenas o código do produto estará nesta tabela e não a descrição do produto. Como fazer para mostrar a descrição ?

Read the rest of this entry »

Transformar linhas do SQL em string delimitada

Essa procedure pode ser muito útil em algumas situações: Ela pega as linhas de uma coluna e retorna cada linha separada por ví­rgula na mesma string.

Read the rest of this entry »

CASE WHEN versus DECODE

As vezes o CASE WHEN quebra o galho quando temos que usar condições mais complexas… Mas o que fazer quando não é possí­vel usá-lo? (como nas versões anteriores ao 8i, e no PL*SQL anterior ao 9i). É muito simples!

Read the rest of this entry »

Order By muda em diferentes NLS_LANG

Sabemos que mudando o NLS_LANG do oracle, ele assume comportamentos diferentes. (Por exemplo, muda o formato da Data, muda o Ponto Decimal ou Vírgula Decimal, etc.) Mas uma coisa que as vezes passa despercebido é que o NLS_LANG também pode mudar a ORDEM das colunas:

Read the rest of this entry »

Comparação de Campos com NULL

Sabemos que quando um variável ou um campo no Oracle está NULL, ele não pode ser simplesmente comparado a um outro valor, pois o resultado da compração também será false!

Read the rest of this entry »