Oradata

Developer

PL/SQL Transações Autônomas

Olá, normalmente nos posts que escrevo, sempre acabo falando de assuntos voltados para DBAs (até mesmo porque eu sou um rsrsrs), mas por muitas vezes nos meus treinamentos de SQL e PL/SQL os alunos acabam por me cobrar posts voltados para o processo de desenvolvimento, confesso que escrevo pouco ou quase nada a esse respeito, mas prometo pagar essa divida com vocês a partir de agora, escrevendo artigos úteis para desenvolvedores, até mesmo porque eu já fui um e gostava muito de programar, sendo assim vamos lá. Hoje vamos falar de transações autônomas, que são aquelas famosas transações que acontecem de maneira independente, ou seja, uma transação principal se inicia e…

Métodos de compilação PLSQL

Muitas vezes no seu dia a dia você tem objetos PLSQL que precisam ser executados com uma certa frequência e necessitam de uma velocidade bem agressiva. Nestes casos o primeiro passo é fazer um trabalho de otimização no código e também na instancia (caso seja preciso), mas se mesmo assim você ainda não conseguir chegar a um tempo de resposta adequado, ainda há uma solução. O método de compilação de seu código, interpretado ou nativo, vejamos na sequencia esse assunto com maiores detalhes. Na versão 9i do Oracle, foi introduzida capacidade de compilar seus códigos PLSQL de maneira “nativa” (diretamente na linguagem C) o que o torna bem mais rápido…

Particionamento de tabelas

O que é? O particionamento de tabelas (Oracle Partitioning) é a capacidade de dividir fisicamente tabelas de seu banco dados, sem a necessidade de reescrever o código fonte de sua aplicação, pois logicamente a tabela particionada é como uma tabela normal de seu banco de dados e é capaz de receber as mesmas instruções SQL (DDL, DML e DCL) que qualquer outra tabela, a separação dos dados acontece somente no âmbito físico, de acordo com o que for especificado no momento do particionamento pelo desenvolvedor. Para que serve? O particionamento é de grande utilidade quando estamos trabalhando com tabelas que tem uma massa de dados muito grande, pois a partir…

Função LISTAGG

A função LISTAGG (list aggregate | lista agregada), é uma função SQL de grupo específica do Oracle, que agrupa os dados na mesma linha dentro de uma instrução SELECT, você pode utilizá-la sozinha para produzir conjuntos de dados agrupados por linhas simples, ou em conjunto com a função GROUP BY, abaixo alguns exemplos. Imagine um SELECT comum na tabela EMPLOYEES. Agora vamos montar um relatório que liste em uma única linha, o nome completo dos empregados no padrão americano (sobrenome, nome) separado por ‘; ’ juntamente com a data de contratação do empregado mais antigo. Neste caso ficaria assim. LISTAGG + GROUP BY Como falamos no inicio do artigo, também…