Artigos recentes
PLAN_TABLE faz aniversário de 21 anos em 19-out-2009
13/10/2009 SQL Deixe um comentário
Pois é isso mesmo! A querida tabela do ORACLE que nos mostra o plano de execução dos SQLs hoje completa 21 anos!
Hoje eu fui olhar um plano de execução e me deparei com a seguinte mensagem:
SET AUTOTRACE ON SELECT bla bla bla... Execution Plan ---------------------------------------------------------- -------------------------------------------------------------- | Id | Operation | Name | Rows | Cost (%CPU)| -------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 102 (0)| | 1 | SORT AGGREGATE | | 1 | | | 2 | TABLE ACCESS FULL| TABELA | 4322 | 102 (0)| -------------------------------------------------------------- Note ----- - 'PLAN_TABLE' is old version
PLAN_TABLE is old version ??? Leia mais..
Colunas Virtuais no 11g – Parte 2
17/08/2009 PL/SQL Deixe um comentário
Colunas Virtuais no 11g – Parte 2 – Índices e Constraints
Continuando o artigo sobre colunas virtuais no Oracle 11g, veremos outras possibilidades do uso dessa feature.
Se tentarmos inserir dados que resultem em uma coluna virtual duplicada, podemos esperar uma violação de Unique Constraint: Leia mais..
Colunas Virtuais no 11g – Parte 1
31/07/2009 PL/SQL Deixe um comentário
Oracle suportou expressões armazenadas por muitos anos, em views e índices baseados em função. Mais principalmente, são as views que nos permitem armazenar e modularisar expressões calculadas baseados em outras colunas da tabela.
Em versões mais recentes (a partir do 8i), temos como indexar as colunas baseados em função. (Function based indexes). Agora, a partir da versão 11g, o banco Oracle nos permite também armazenar expressões diretamente nas tabelas como colunas virtuais.
Como veremos neste artigo, colunas virtuais são mais flexíveis que as outras alternativas citadas. Vamos examinar seu uso básico e também considerar alguns outros aspectos dessa nova feature. Leia mais..
Fazer o Forms abrir um novo Form ao perder conexão, é possível?
30/07/2009 Oracle Forms Deixe um comentário
Sim, é possível! Porém, não serve para todas as aplicações… Essa rotina seria mais usada em alguns form que fazem integração entre os sistemas, etc…
Digamos que você tenha um software responsável pelo controle de créditos telefônicos em um banco separado da sua aplicação principal.
o cliente paga um valor, esse valor é creditado e através de um usuário e senha você consegue usar ligar normalmente até acabar os créditos.
Com isso, no meu sistema principal, preciso ter a informação do quanto de crédito já foi utilizado ou algo parecido, então, a cada ligação, faço o débito da conta do cliente.
Como não tenho uma integração direta entre as aplicações, vou precisar de um Robô que faça a leitura de um lado e jogue no outro, porém, por algum motivo, esse robô perdeu a conexão e ninguém foi avisado, então, teremos que ficar nos preocupando vendo se o robô está sempre ativo, etc…
Vamos lá!
Leia mais..
Trabalhando com Strings no Oracle
03/06/2009 PL/SQL Comments Off
Vou agora tentar mostrar como trabalha com string no Oracle… Venho acompanhando alguns Foruns de Desenvolvimento e sempre estou me deparando com questões sobre o correto uso de funções para trabalhar com String…
- Concatenando 2 Strings
- Colocando a primeira letra do texto como Maiúscula
- Transformando o texto em texto Minúsculo e Maiúsculo
- Convertendo letras em códigos ASCII
- Localizando a posição uma string no meio do texto
- Atribuindo dígitos no final e/ou no inicio do texto
- Removendo espaços no inicio e/ou fim do texto
- Como inverter o texto
- Substituindo Strings por outras Strings
- Cortando o conteúdo do texto
- Descobrindo o tamanho da string
- Retornando colunas com valor não nulo
- Exemplo da utilização de algumas funções
- Pesquisando em uma string por um digito e exibindo o resto da string pegando como base esse digito localizado.
- Repartindo uma string e inserindo um valor no meio.
Execução ordenada nas triggers
14/05/2009 PL/SQL Deixe um comentário
A partir do Oracle 8i é possível criar mais de uma trigger do mesmo tipo na mesma tabela. Exemplo: duas triggers AFTER EACH ROW on INSERT. O tipo de trigger determina a ordem de execução: As BEFORE são executadas antes, e as AFTER depois. Contudo, como saber qual trigger executará primeiro quando se tem duas AFTER EACH ROW on INSERT ? Leia mais..
Utilizando Table of Record
04/05/2009 PL/SQL Deixe um comentário
Hoje vamos ver o quanto é bom explorar certos recursos da ferramenta de Desenvolvimento Oracle. Sabe aquela rotina bem dinâmica que você não imagina como poderá resolver? Agora, imagine tentar guardar tudo isso em memória… Melhorou um pouco, correto? Vamos ver como é bom trabalhar com registros de memória no Oracle.
Leia mais..
Melhorias nos EXTERNAL TABLES do 10g
13/01/2009 SQL Deixe um comentário
A partir do Oracle 9i foi criado o conceito de EXTERNAL TABLES, ou seja, você cria uma tabela baseado num arquivo texto no sistema operacional e pode fazer consultas SQL nessa tabela (ou seja, diretamente no arquivo texto como se fosse uma tabela)
Agora a partir do oracle 10g é possível também criar um arquivo texto baseado numa tabela do banco usando o novo driver de Data Pump existente. Leia mais..
Novas funcionalidades com CONNECT BY
12/01/2009 SQL Deixe um comentário
A partir do Oracle 10g temos mais algumas funcionalidades no uso da cláusula CONNECT BY dentro dos comandos SELECT. Essas mudanças se aplicam a queries hiearquicas permitindo o retorno de não apenas PAIS, FILHOS mas também “ancestrais”. São 3 as novas cláusulas disponíveis com CONNECT BY. Leia mais..
Cláusula RETURNING com funções somatórias
09/01/2009 SQL Deixe um comentário
Oracle 10g agora permite o uso de funções somatórias na cláusula RETURNING. O seguinte exemplo faz um UPDATE no salário de todos empregados e retorna a média salarial resultante para as linhas afetadas. Leia mais..
