Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos dessa edição estão disponíveis somente através do formato HTML.
Clique aqui para ler todos os artigos desta edição
PL/SQL 10g: o que mudou?
O PL/SQL é a linguagem de programação padrão do banco de dados Oracle desde a versão 6.0 do produto, lançada em 1991. Ela é altamente integrada ao banco de dados e aos comandos SQL o que facilita o desenvolvimento de módulos estritamentevoltados para a manipulação de dados. Muitos podem argumentar que isso pode ser feito pelo SQL, mas a intenção de criar uma linguagem de programação que estendesse esse padrão e permitisse utilizar estruturas condicionais e de repetição ampliaram a utilização do banco de dados. Ao invés de enviar diversas requisições ao banco de dados e trabalhar cada uma das linhas no front
Significativos avanços foram feitos a partir da versão 2.3 do PL/SQL (que foi lançada com a versão 7.3 do banco de dados). A partir da versão 8.0 do banco de dados foi iniciado o suporte à orientação a objetos, processo que atingiu um alto nível de aderência a este padrão na versão 10g. Na versão 8.1 (ou 8i) a empresa começou a adotar cada vez mais os padrões do SQL e isso acabou refletindo também no PL/SQL. O Java passou a ser utilizado no banco de dados e apareceu (inicialmente) como concorrente do PL/SQL. Na versão 9i é ampliado o suporte a caracteres internacionais, herança entre objetos, compilação nativa do código PL/SQL em C e acesso a documentos XML.
Muito já se ouviu falar que o PL/SQL estaria cedendo lugar ao Java. Esta sim seria a linguagem de programação oficial do banco de dados Oracle
Devido a grande parte das implementações do banco de dados Oracle estar em versões anteriores a atual (10gR2), vou focar este artigo nas principais modificações implementadas pela Oracle na versão 10gR1 e R2. Como o leitor verá, não é uma lista extensa, mas poderá auxiliá
Devo esclarecer que vou me restringir às mudanças relacionadas ao PL/SQL e não à linguagem SQL. Muitas das modificações do SQL acabam tendo reflexo no PL/SQL, mas nem por isso serão citadas neste artigo.
Desempenho
Com a nova versão do banco de dados, os usuários podem esperar um desempenho pelo menos duas vezes mais rápido do que a versão 9i e três vezes mais rápido que na versão 8i. Note que desde a versão anterior já havia a possibilidade de utilizar a compilação nativa onde o código é convertido para C durante a compilação. Com isso, a execução dos módulos PL/SQL chega a ser 30% mais rápida do que quando o código é interpretado.
Boa parte do interpretador foi reescrita na versão 10g. Com isso, foram otimizados diversos recursos da linguagem. Cálculos desnecessários foram eliminados e tornou
Um novo parâmetro (PLSQL_OPTIMIZE_LEVEL) foi criado para que o usuário escolha o comportamento do compilador. Pode assumir valores de zero, um ou dois (0, 1 ou 2), sendo que zero (0) é o mesmo que deixar como era antes da versão 10g e dois (2) otimizar ao máximo a compilação com natural queda no desempenho durante este processo (compilações mais longas).
Tipos de dados
Baseado no padrão definido na IEEE
Funções numéricas como ABS, CEIL e ACOS, e de agregação, como AVG, MIN e MAX, podem manipular estes novos tipos de dados. No 10gR2, o PLS_INTEGER, que continua sendo a melhor opção para trabalhar com números inteiros, teve o limite aumentado para o intervalo entre
Listagem 1. Utilização dos novos tipos de dados: BINARY_FLOAT e BINARY_DOUBLE.
declare
pf32 binary_float;
pf64 binary_double;
begin
pf32:= 1.778827456e37;" [...] continue lendo...