You are on page 1of 1683

®

www.axcel.com.br
ORACLE 9i
PARA DESENVOLVEDORES
ORACLE DEVELOPER 6i
CURSO COMPLETO
Lúcia Fernandes

Pirataria é crime contra os direitos autorais, com penas para os infratores de
acordo com a Lei 9.610 de 19 de fevereiro de 1998.

Este e-book não pode ser vendido e/ou distribuído em CD-ROM, DVD-ROM ou por programas de
compartilhamento P2P. A forma correta de obter este arquivo é adquirindo-o através dos sites da Editora
Axcel (www.axcel.com.br) e de Júlio Battisti (www.juliobattisti.com.br).

Se você adquiriu este documento através dos meios legais descritos acima, não distribua ou venda este
produto. Você estará cometendo um crime contra o autor da obra.

Se você adquiriu este e-book por intermédio de terceiros, regularize sua situação entrando em contato pelo e-mail
editora@axcel.com.br, para que não seja alvo das penalizações previstas em Lei. Usar cópia ilegal também é
crime de violação dos direitos autorais.

REPRODUÇÃO PROIBIDA PELA LEI DO DIREITO AUTORAL.

Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

CRÉDITOS
PRODUÇÃO
Alexandre Ramires
Carlos Alberto Sá Ferreira

REVISÃO
Sandro Gomes dos Santos

ARTE E DIAGRAMAÇÃO
Ingo Bertelli

SUPERVISOR DE PRODUÇÃO
Carlos Alberto Sá Ferreira

CAPA
Ingo Bertelli

EDITORA DE PRODUÇÃO
Gisella Narcisi

EDITOR RESPONSÁVEL
Ricardo Reinprecht

CURSO COMPLETO00✦ III
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

DEDICATÓRIA
À minha família, que me acompanha a cada dia, no desenvolvimento deste trabalho, e me encoraja a prosseguir,
principalmente nos momentos de desânimo. Dedico este livro, portanto, aos meus filhos Davi, Daniel e Gabriel,
ao meu esposo Dilson e aos meus pais Lourdes e Milton (em memória). E, também, a uma amiga muito especial,
que foi uma grande admiradora do meu trabalho, Lucianita (em memória).

AGRADECIMENTOS
A todos os que me apoiaram antes e durante o desenvolvimento deste trabalho.
A todo o pessoal da Axcel Books, especialmente a Alexandre Ramires, Romero Portela Rodrigues e Ricardo Reinprecht.
Ao amigo Max Guyer, por mais uma vez realizar a revisão do conteúdo técnico de todo o material.

SOBRE A AUTORA
Lúcia Fernandes é arquiteta formada pela Universidade Federal do Rio de Janeiro. Na área de informática, sua
atuação foi toda voltada para a área de suporte, especialmente banco de dados. Ministrou diversos treinamentos
associados a bancos de dados e linguagens de programação, principalmente relacionados com o ambiente Oracle.
Atualmente é Diretora de Suporte e Tecnologia da Relacional Consultoria e Sistemas Ltda.

IV ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

PREFÁCIO
Este material foi construído para o desenvolvedor Oracle, ou seja, aquele profissional que deseja se tornar (ou já é)
desenvolvedor de sistemas no ambiente Oracle.
O livro foi dividido em três partes:
♦ Fundamentos – onde encontramos a parte básica, a interface com o banco de dados através das linguagens SQL
e PL/SQL.
♦ Developer – onde encontramos o estudo das ferramentas de desenvolvimento de sistemas Form Builder e Re-
port Builder.
♦ Referência – onde encontramos a sintaxe das linguagens estudadas na parte Fundamentos e lista de propriedades,
de menus, de triggers, de rotinas, de parâmetros, etc. das ferramentas estudadas na parte Developer.
Este livro segue a mesma linha do anterior em que, inicialmente, estudamos a linguagem SQL em seguida passando
ao desenvolvimento de lógicas de programação com o PL/SQL. Consideramos que o estudo sobre objetos no
banco de dados merecia uma atenção maior, e por este motivo dedicamos o Capítulo 4 ao estudo de objetos tanto
em SQL quanto em PL/SQL.
Assim, se você não conhece Oracle (é o seu primeiro contato), deve começar o estudo no Capítulo 2 com a linguagem
SQL, passando então para o Capítulo 3, que contém a linguagem PL/SQL (para construção de aplicações em batch).
De posse desse conhecimento, você poderá avaliar o que a versão 9i trouxe de novidades para o desenvolvedor.

Se, por outro lado, você já conhece Oracle 8i, não deixe de estudar os Capítulos 2 e 3, pois você perceberá que
muitas implementações foram feitas no SQL. A quantidade de funções cresceu tremendamente, a sintaxe dos
comandos de DML ganhou acréscimos para aceitar o padrão ANSI. A PL/SQL também ganhou novos pacotes e
implementou todas as alterações realizadas para o SQL.

A parte (tanto da SQL quanto da PL/SQL) relativa a uso de objetos no banco de dados também foi incrementada
com o conceito de herança e polimorfismo. No Capítulo 4 fazemos um estudo específico sobre objetos, tanto do
ponto de vista conceitual quanto do uso no ORACLE.
No Capítulo 5 o desenvolvedor encontrará alguns tópicos gerais relativos ao banco de dados, que podem ser úteis
no emprego mais eficiente no software; muitas vezes, porém, não diretamente ligados ao seu dia-a-dia, por exemplo,
particionamento de tabelas, views materializadas, performance do SQL, dentre outros.

A parte Fundamentos conta com um conjunto de aproximadamente 250 exercícios e mais de 600 exemplos.
Certamente você encontrará muita coisa interessante para estudar, independente do seu nível de conhecimento
atual. Na parte Referência, você encontrará a sintaxe de SQL9i, de PL/SQL9i além da sintaxe de SQL*Plus.
Para facilitar o estudo daqueles que já conhecem o Oracle8i criamos um índice exclusivo com as novidades. Neste
índice incluiremos, apenas, aqueles tópicos que sofreram modificações na versão 9i ou que ainda não havíamos
estudado no livro anterior.

Se você pretende se utilizar das ferramentas de desenvolvimento da Oracle, seu estudo ainda não acabou: devemos
passar à segunda parte (Developer), onde estão os capítulos referentes às ferramentas de desenvolvimento.
Iniciamos o estudo das ferramentas com a instalação, no Capítulo 6, e passamos então ao Form Builder 6i (Capítulo
7) e Report Builder 6i (Capítulo 8). O Capítulo 9 é dedicado ao estudo das ferramentas em ambiente Web.
Se você não conhece as ferramentas de desenvolvimento da Oracle, seu estudo começa no Capítulo 7, onde você
conhecerá a filosofia da ferramenta (Form Builder), sua utilização passo a passo e dicas diversas. Em seguida, você
deve passar ao Capítulo 8, para que possamos estudar juntos a confecção de relatórios com a ferramenta Report
Builder. Quando você estiver bem experiente nas duas ferramentas, passe ao Capítulo 9 e verifique como utilizar o
mesmo programa que você desenvolveu para ambiente cliente-servidor na Web (Internet ou Intranet).

CURSO COMPLETO00✦ V
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Se você já conhece as ferramentas em versões anteriores, o estudo dos Capítulos 7 e 8 terá o objetivo de verificar o
que houve de implementação na versão 6i. Não deixe, no entanto, de ler esses capítulos, pois, além das modificações,
você encontrará dicas úteis ao longo do texto. No Capítulo 9, você já sabe, encontrará um estudo passo-a-passo
para a implementação das aplicações em ambiente Web.
A parte Developer conta com um conjunto de aproximadamente 120 exercícios e 200 figuras e 90 listagens com
exemplos. Na parte Referência, você encontrará as propriedades dos objetos do Form e do Report, os menus, as
variáveis de sistema, os parâmetros de execução, os triggers e as rotinas dos pacotes internos. Enfim, muita informação
para o seu estudo.
Quanto ao desenvolvimento do material, utilizamos a seguinte regra geral: os assuntos são apresentados com uma
parte teórica seguida de exemplos que permitam o entendimento prático. Ao final do tópico propomos alguns
exercícios para fixação do assunto. Todos os exercícios estão resolvidos ao final de cada capítulo, para que você
possa comparar o seu resultado com uma solução.
O material segue uma ordem crescente de dificuldade, isto é, minha expectativa é de que você siga o estudo na
ordem proposta, pois o tópico seguinte pressupõe o conhecimento do anterior.
Em relação à convenção sintática apresentada neste livro, utilizamos, basicamente, a mesma encontrada nos manuais
da Oracle.
De acordo com essas convenções, as informações entre colchetes – [ ] – são opcionais e as informações entre os
símbolos < e > indicam valores a serem substituídos. Por exemplo, Round (<n> [ , <m>]) indica que a função Round
aceita um ou dois parâmetros e que n deve ser substituído pelo valor que desejamos arredondar. Nesse caso,
teríamos opcionalmente Round (1234.87) ou Round (1234.87, 1).
As sintaxes alternativas e/ou as repetitivas são representadas por linhas e pontes como na figura-exemplo a seguir.

Figura – Exemplo de sintaxe

Dentro de cada capítulo veremos trechos das sintaxes, pois estaremos analisando individualmente os assuntos;
porém, na parte de anexos, teremos a sintaxe completa com a explicação específica sobre cada opção.
Como recomendação ao leitor interessado em se tornar um desenvolvedor, sugiro que não se atenha apenas à leitura
do material. Praticar traz dúvidas que a leitura não traz; portanto refaça todos os testes apresentados, faça outros
testes complementares com opções não exemplificadas e tente realizar todos os exercícios de fixação. Duvide e teste!

Dessa forma, você terá condições de tirar suas próprias conclusões sobre as ferramentas apresentadas. Se, após este
estudo, você tiver dúvidas, escreva para o e-mail da Editora, a fim de entrar em contato comigo para novas explicações.

Não deixe, também, de obter todos os scripts e aplicativos presentes no livro para que seu estudo seja mais ágil.
Faça download em www.axcel.com.br.
Bom estudo!

Lúcia.

VI ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Sumário
PARTE I – FUNDAMENTOS ................................................................................................................................ 1
CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 .................................................................. 3
Fundamentos em: Instalação do Produto ............................................................................................ 4
Requerimentos Para Instalação ............................................................................................................................ 4
Acompanhando a Instalação ............................................................................................................................... 4
Localização dos Arquivos ..................................................................................................................................... 5
Produtos Disponíveis ........................................................................................................................................... 5
Tipos de Instalação ............................................................................................................................................... 6
Configuração do Banco de Dados ........................................................................................................................ 7
Identificação do Banco de Dados ......................................................................................................................... 7
Local do Arquivo do Banco de Dados .................................................................................................................. 8
Conjunto de Caracteres de Banco de Dados ........................................................................................................ 8
Resumo ................................................................................................................................................................. 9
Fundamentos em: Substituição da Linguagem .................................................................................. 10
Executando o Regedit ......................................................................................................................................... 10
O Nó Oracle ........................................................................................................................................................ 10
Fundamentos em: Criação de um Usuário-Padrão com o SQL*Plus ................................................. 12
Fundamentos em: Criação da Base Relacional ................................................................................... 13
Modelo de Dados ............................................................................................................................................... 13
Gerando a Base de Dados ................................................................................................................................... 14
Criando o Atalho Para o SQL*Plus ..................................................................................................................... 20
Sobre a Base de Dados Objeto-Relacional .......................................................................................................... 20
CAPÍTULO 2 – SQL E SQL*PLUS ................................................................................................................... 21
Fundamentos em: Linguagem SQL ...................................................................................................... 22
Dados Históricos ................................................................................................................................................ 22
O Oracle e o SQL ................................................................................................................................................ 22
Banco de Dados Relacional ................................................................................................................................ 22
A Abrangência da Linguagem ............................................................................................................................ 23
Linguagem de Manipulação dos Dados (Data Manipulation Language – DML) .......................................... 23
Linguagem de Definição dos Dados (Data Definition Language – DDL) ...................................................... 23
Linguagem de Controle dos Dados (Data Control Language – DCL) ........................................................... 23
Fundamentos em: Ferramenta SQL*Plus ............................................................................................ 24
Abrindo uma Sessão ........................................................................................................................................... 24
O SQL Buffer ....................................................................................................................................................... 24
Os Comandos do SQL*Plus ................................................................................................................................ 25
Digitando no SQL*Plus ...................................................................................................................................... 25
Comandos de Edição .......................................................................................................................................... 26
List .................................................................................................................................................................. 26
Append ........................................................................................................................................................... 27
Change ........................................................................................................................................................... 27
Del .................................................................................................................................................................. 28
Input .............................................................................................................................................................. 29
Edit ................................................................................................................................................................. 29
Comandos de Execução e de Encerramento ...................................................................................................... 31
Run ................................................................................................................................................................. 31
/ (Barra) .......................................................................................................................................................... 32
Exit / Quit ...................................................................................................................................................... 32

CURSO COMPLETO00✦ VII
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Describe .......................................................................................................................................................... 33
Comandos Para Tratamento de Arquivos .......................................................................................................... 34
Save ................................................................................................................................................................ 34
Get .................................................................................................................................................................. 34
Start ................................................................................................................................................................ 35
Fundamentos em: Consulta à Base de Dados ..................................................................................... 37
Introdução .......................................................................................................................................................... 37
Forma Básica do Comando SELECT ................................................................................................................... 37
Restringindo a Consulta ..................................................................................................................................... 38
O Uso de All Versus Distinct ou Unique ............................................................................................................ 38
Operadores de Comparação ............................................................................................................................... 39
Usando And e Or ................................................................................................................................................ 39
Mudando a Precedência das Operações ............................................................................................................. 39
Operadores Aritméticos e de Concatenação ...................................................................................................... 40
Selecionando um Intervalo de Valores – Between ............................................................................................. 40
Selecionando uma Lista de Valores – In ............................................................................................................. 41
Pesquisando o Conteúdo de um Texto – Like .................................................................................................... 41
Pesquisando um Valor Desconhecido – Is Null ................................................................................................. 42
Consultando Dados de uma Tabela Particionada .............................................................................................. 42
Exercícios ............................................................................................................................................................ 43
Fundamentos em: Atualização da Base de Dados .............................................................................. 43
Incluindo Novas Linhas – Insert Básico ............................................................................................................. 44
Retornando Informações dos Dados Incluídos .................................................................................................. 46
Alterando Linhas Existentes – Update Básico .................................................................................................... 46
Retornando Informações dos Dados Alterados .................................................................................................. 48
Excluindo Linhas da Base de Dados – Delete Básico ......................................................................................... 48
Retornando Informações dos Dados Excluídos ................................................................................................. 49
Exercícios ............................................................................................................................................................ 49
Fundamentos em: Ordenação e Subconsulta ..................................................................................... 50
Usando Apelidos ................................................................................................................................................ 50
Obtendo os Resultados em uma Ordem Específica ........................................................................................... 51
Usando Subquery Para Restringir o Resultado ................................................................................................... 52
Exercícios ............................................................................................................................................................ 53
Fundamentos em: Grupamentos ......................................................................................................... 53
Funções de Grupo ou de Agregação ................................................................................................................... 54
Avg ................................................................................................................................................................. 55
Corr ................................................................................................................................................................ 55
Count ............................................................................................................................................................. 56
Covar_Pop ...................................................................................................................................................... 56
Covar_Samp ................................................................................................................................................... 56
Cume_Dist ..................................................................................................................................................... 57
Dense_Rank ................................................................................................................................................... 57
First ................................................................................................................................................................ 57
Group_Id ........................................................................................................................................................ 58
Grouping ........................................................................................................................................................ 58
Grouping_id ................................................................................................................................................... 58
Last ................................................................................................................................................................. 58
Max ................................................................................................................................................................ 58
Min ................................................................................................................................................................. 58
Percent_Rank ................................................................................................................................................. 58
Percentile_Cont ............................................................................................................................................. 59
Percentile_Disc ............................................................................................................................................... 60
Rank ............................................................................................................................................................... 60

VIII ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Regr_Avgx ...................................................................................................................................................... 61
Regr_Avgy ...................................................................................................................................................... 61
Regr_Count .................................................................................................................................................... 61
Regr_Intercept ................................................................................................................................................ 61
Regr_R2 .......................................................................................................................................................... 61
Regr_Slope ...................................................................................................................................................... 61
Regr_Sxx ......................................................................................................................................................... 61
Regr_Sxy ......................................................................................................................................................... 61
Regr_Syy ......................................................................................................................................................... 61
Stddev ............................................................................................................................................................ 62
Stddev_Pop .................................................................................................................................................... 62
Stddev_Samp .................................................................................................................................................. 62
Sum ................................................................................................................................................................ 62
Var_Pop .......................................................................................................................................................... 62
Var_Samp ....................................................................................................................................................... 62
Variance ......................................................................................................................................................... 63
Grupando as Linhas Selecionadas ...................................................................................................................... 63
Regra .............................................................................................................................................................. 64
A Cláusula Having .............................................................................................................................................. 64
As Expressões Rollup e Cube .............................................................................................................................. 65
Rollup ............................................................................................................................................................. 65
Cube ............................................................................................................................................................... 66
Identificando as Linhas com as Funções Group ............................................................................................ 67
Exercícios ............................................................................................................................................................ 68
Fundamentos em: Modificação do Resultado com Funções ............................................................. 69
Introdução .......................................................................................................................................................... 69
Numéricas Simples ............................................................................................................................................. 70
Abs ................................................................................................................................................................. 70
Bitand ............................................................................................................................................................. 70
Ceil ................................................................................................................................................................. 70
Exp ................................................................................................................................................................. 71
Floor ............................................................................................................................................................... 71
Ln ................................................................................................................................................................... 71
Log ................................................................................................................................................................. 71
Mod ................................................................................................................................................................ 71
Power ............................................................................................................................................................. 71
Round ............................................................................................................................................................. 72
Sign ................................................................................................................................................................ 72
Sqrt ................................................................................................................................................................. 72
Trunc .............................................................................................................................................................. 72
Width_Bucket ................................................................................................................................................ 72
Trigonométricas ................................................................................................................................................. 73
Acos ................................................................................................................................................................ 73
Asin ................................................................................................................................................................ 74
Atan ................................................................................................................................................................ 74
Atan2 .............................................................................................................................................................. 74
Cos ................................................................................................................................................................. 74
Cosh ............................................................................................................................................................... 74
Sin .................................................................................................................................................................. 75
Sinh ................................................................................................................................................................ 75
Tan ................................................................................................................................................................. 75
Tanh ............................................................................................................................................................... 75
Alfanuméricas ..................................................................................................................................................... 75

CURSO COMPLETO00✦ IX
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Chr ................................................................................................................................................................. 75
Concat ............................................................................................................................................................ 76
Initcap ............................................................................................................................................................ 76
Lower ............................................................................................................................................................. 77
Lpad ............................................................................................................................................................... 77
Ltrim .............................................................................................................................................................. 77
Nls_Initcap ..................................................................................................................................................... 77
Nls_Lower ...................................................................................................................................................... 77
Nls_Upper ...................................................................................................................................................... 78
Nlssort ............................................................................................................................................................ 78
Replace ........................................................................................................................................................... 78
Rpad ............................................................................................................................................................... 78
Rtrim .............................................................................................................................................................. 78
Soundex ......................................................................................................................................................... 79
Substr ............................................................................................................................................................. 79
Substrb, Substrc, Substr2, Substr4 .................................................................................................................. 79
Translate ......................................................................................................................................................... 79
Treat ............................................................................................................................................................... 79
Trim ................................................................................................................................................................ 79
Upper ............................................................................................................................................................. 80
Alfanuméricas que Retornam Valores Numéricos ............................................................................................. 80
Ascii ................................................................................................................................................................ 81
Instr ................................................................................................................................................................ 81
Instrb, Instrc, Instr2, Instr4 ........................................................................................................................... 81
Length ............................................................................................................................................................ 82
Lengthb, Lengthc, Length2, Length4 ............................................................................................................ 82
Datas ................................................................................................................................................................... 82
Sysdate ........................................................................................................................................................... 82
Add_Months .................................................................................................................................................. 82
Current_Date ................................................................................................................................................. 83
Sessiontimezone ............................................................................................................................................ 83
Current_Timestamp ....................................................................................................................................... 84
Dbtimezone ................................................................................................................................................... 84
Extract ............................................................................................................................................................ 84
From_Tz ......................................................................................................................................................... 84
LocalTimestamp ............................................................................................................................................. 84
Last_Day ......................................................................................................................................................... 85
Months_Between ........................................................................................................................................... 85
New_Time ...................................................................................................................................................... 85
Next_Day ....................................................................................................................................................... 86
Round ............................................................................................................................................................. 86
Sys_Extract_UTC ............................................................................................................................................ 86
SysTimestamp ................................................................................................................................................ 86
Trunc .............................................................................................................................................................. 87
Tz_Offset ........................................................................................................................................................ 87
Conversão ........................................................................................................................................................... 87
AsciiStr ........................................................................................................................................................... 89
Bin_To_Num .................................................................................................................................................. 89
Cast ................................................................................................................................................................ 89
CharToRowid ................................................................................................................................................. 89
Compose ........................................................................................................................................................ 89
Convert .......................................................................................................................................................... 89
Decompose .................................................................................................................................................... 90
HexToRaw ...................................................................................................................................................... 90

X ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Numtodsinterval ............................................................................................................................................ 90
Numtoyminterval .......................................................................................................................................... 90
RawToHex, RawToNhex ................................................................................................................................. 90
RowidToChar, RowidToNchar ....................................................................................................................... 91
To_Char .......................................................................................................................................................... 91
To_Char .......................................................................................................................................................... 91
To_Clob .......................................................................................................................................................... 92
To_Date .......................................................................................................................................................... 92
To_Dsinterval ................................................................................................................................................. 94
To_Lob ............................................................................................................................................................ 94
To_Multi_Byte ................................................................................................................................................ 95
To_Nchar ........................................................................................................................................................ 95
To_Nchar ........................................................................................................................................................ 95
To_Nchar ........................................................................................................................................................ 95
To_Nclob ........................................................................................................................................................ 95
To_Number .................................................................................................................................................... 95
To_Single_Byte ............................................................................................................................................... 96
To_Timestamp ................................................................................................................................................ 96
To_Timestamp_TZ .......................................................................................................................................... 96
To_Yminterval ................................................................................................................................................ 96
Translate Using .............................................................................................................................................. 96
Unistr ............................................................................................................................................................. 96
Outras ................................................................................................................................................................. 96
Bfilename ....................................................................................................................................................... 96
Coalesce ......................................................................................................................................................... 97
Decode ........................................................................................................................................................... 97
Dump ............................................................................................................................................................. 97
Empty_Blob ou Empty_Clob ......................................................................................................................... 98
ExistsNode ..................................................................................................................................................... 98
Extract ............................................................................................................................................................ 99
Greatest .......................................................................................................................................................... 99
Least ............................................................................................................................................................... 99
Nls_Charset _Decl_Len .................................................................................................................................. 99
Nls_Charset _Id ............................................................................................................................................ 100
Nls_Charset _Name ...................................................................................................................................... 100
NullIf ............................................................................................................................................................ 100
Nvl ................................................................................................................................................................ 100
Nvl2 .............................................................................................................................................................. 100
Sys_Connect_By_Path .................................................................................................................................. 100
Sys_Context ................................................................................................................................................. 101
Sys_DbUriGen .............................................................................................................................................. 102
Sys_Guid ...................................................................................................................................................... 102
Sys_Typeid .................................................................................................................................................... 102
Sys_XmlGen ................................................................................................................................................. 102
Sys_XmlAgg ................................................................................................................................................. 103
Uid ............................................................................................................................................................... 103
User .............................................................................................................................................................. 103
Userenv ........................................................................................................................................................ 103
Vsize ............................................................................................................................................................. 103
Exercícios .......................................................................................................................................................... 104
Fundamentos em: Funções Analíticas ............................................................................................... 104
Introdução ........................................................................................................................................................ 105
Funções Somente Analíticas ............................................................................................................................. 105

CURSO COMPLETO00✦ XI
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

First_Value .................................................................................................................................................... 107
Lag ................................................................................................................................................................ 107
Last_Value .................................................................................................................................................... 108
Lead .............................................................................................................................................................. 108
Ntile ............................................................................................................................................................. 109
Ratio_to_Report ........................................................................................................................................... 109
Row_Number ............................................................................................................................................... 110
Funções de Agregação com uso Analítico ........................................................................................................ 110
Exercícios .......................................................................................................................................................... 113
Fundamentos em: Revisão das Operações Relacionais .................................................................... 113
Introdução ........................................................................................................................................................ 113
Seleção ou Restrição ......................................................................................................................................... 113
Projeção ............................................................................................................................................................ 114
União ................................................................................................................................................................ 114
Interseção ......................................................................................................................................................... 116
Diferença .......................................................................................................................................................... 116
Produto Cartesiano .......................................................................................................................................... 117
Junção ou Join .................................................................................................................................................. 117
Divisão .............................................................................................................................................................. 119
Exercícios .......................................................................................................................................................... 120
Fundamentos em: Detalhamento do SQL*Plus ................................................................................ 120
Comandos de Formatação ............................................................................................................................... 120
Column ........................................................................................................................................................ 120
RepHeader / RepFooter ................................................................................................................................ 123
Ttitle / Btitle ................................................................................................................................................. 124
Break ............................................................................................................................................................ 125
Compute ...................................................................................................................................................... 127
Clear ............................................................................................................................................................. 128
Spool ............................................................................................................................................................ 129
Show ............................................................................................................................................................ 130
Comandos Para Controle de Variáveis de Usuário .......................................................................................... 131
Define ........................................................................................................................................................... 131
Undefine ...................................................................................................................................................... 131
Variable ........................................................................................................................................................ 132
Print ............................................................................................................................................................. 133
Comandos Para Comunicação com o Usuário ................................................................................................ 133
Accept .......................................................................................................................................................... 133
Prompt ......................................................................................................................................................... 133
Pause ............................................................................................................................................................ 134
Modificando Variáveis de Sistema ................................................................................................................... 134
Set ................................................................................................................................................................. 134
Store ............................................................................................................................................................. 139
Comandos Diversos ......................................................................................................................................... 139
Connect / Disconnect .................................................................................................................................. 139
Password, Execute, Host e Remark .............................................................................................................. 140
Copy ............................................................................................................................................................. 140
Timing .......................................................................................................................................................... 140
Whenever Oserror / Sqlerror ....................................................................................................................... 140
Attribute ....................................................................................................................................................... 141
Help .............................................................................................................................................................. 141
Acionando o SQL*Plus em Batch ..................................................................................................................... 141
O Menu do SQL*Plus ........................................................................................................................................ 143
Arquivo ........................................................................................................................................................ 143

XII ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Editar ............................................................................................................................................................ 143
Procurar ........................................................................................................................................................ 143
Opções ......................................................................................................................................................... 143
Ajuda ............................................................................................................................................................ 143
Exercícios .......................................................................................................................................................... 143
Fundamentos em: Consultas Complexas .......................................................................................... 145
Outer Join ......................................................................................................................................................... 145
Exists ................................................................................................................................................................. 147
Hierarquia ......................................................................................................................................................... 147
Subselects Correlacionados .............................................................................................................................. 150
Views Relacionais ............................................................................................................................................. 151
Uso de Subquery na Cláusula From ................................................................................................................. 153
Em Selects .................................................................................................................................................... 153
Em Updates .................................................................................................................................................. 154
Em Inserts .................................................................................................................................................... 155
Em Deletes ................................................................................................................................................... 155
O Comando Merge ........................................................................................................................................... 155
Inclusão Simultânea em Diversas Tabelas ........................................................................................................ 156
Usos Incomuns do Comando Select ................................................................................................................ 157
Uso de Case no Select ....................................................................................................................................... 158
Exercícios .......................................................................................................................................................... 158
Fundamentos em: O Dicionário de Dados do Oracle ....................................................................... 159
Introdução ........................................................................................................................................................ 159
User_Objects ..................................................................................................................................................... 160
User_Tables ....................................................................................................................................................... 161
User_Tab_Columns .......................................................................................................................................... 161
User_Tab_Partitions .......................................................................................................................................... 162
User_Indexes .................................................................................................................................................... 162
User_Ind_Columns ........................................................................................................................................... 163
User_Ind_Partitions .......................................................................................................................................... 163
User_Constraints .............................................................................................................................................. 164
User_Cons_Columns ........................................................................................................................................ 164
User_Sequences ................................................................................................................................................ 164
User_Synonyms ................................................................................................................................................ 164
User_Users ........................................................................................................................................................ 165
User_Views ....................................................................................................................................................... 165
User_Updatable_Columns ................................................................................................................................ 165
User_Types ........................................................................................................................................................ 166
User_Type_Attrs ................................................................................................................................................ 166
User_Type_Methods ......................................................................................................................................... 166
User_Nested_Tables .......................................................................................................................................... 167
User_Object_Tables .......................................................................................................................................... 167
User_Lobs ......................................................................................................................................................... 167
User_Method_Params ....................................................................................................................................... 168
User_Method_Results ....................................................................................................................................... 168
Exercícios .......................................................................................................................................................... 168
Fundamentos em: Uso da Data Control Language .......................................................................... 168
Comandos Para Controle da Transação ........................................................................................................... 169
Transaction .................................................................................................................................................. 169
Commit ........................................................................................................................................................ 169
Savepoint ..................................................................................................................................................... 172
Rollback ....................................................................................................................................................... 173
Read Consistency ......................................................................................................................................... 173

CURSO COMPLETO00✦ XIII
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

O Segmento de Rollback .............................................................................................................................. 175
Set Transaction Read Only ........................................................................................................................... 176
Select For Update ......................................................................................................................................... 177
DeadLocks .................................................................................................................................................... 179
Set Constraint .............................................................................................................................................. 179
Comandos Para Controle da Sessão ................................................................................................................. 181
Alter Session ................................................................................................................................................. 181
Set Role ......................................................................................................................................................... 183
Globalization Support ...................................................................................................................................... 184
Características da Globalization Support .................................................................................................... 184
Esquema de Codificação .............................................................................................................................. 185
Unicode ........................................................................................................................................................ 185
Os Characters Sets do Oracle ....................................................................................................................... 185
Definindo os Parâmetros da Globalization Support .................................................................................... 185
Alter Session ................................................................................................................................................. 186
Variáveis de Ambiente ................................................................................................................................. 193
Os Parâmetros NLS em Uso nas Funções SQL ............................................................................................. 195
Exercícios .......................................................................................................................................................... 195
Fundamentos em: Index Tables e Large Objects .............................................................................. 196
Index Tables ..................................................................................................................................................... 196
Rowid Lógico ............................................................................................................................................... 197
Comparação Entre Rowids Lógicos e Físicos ............................................................................................... 197
Comparando Index Table e Regular Table ................................................................................................... 197
Benefícios de uma Index-Organized Table .................................................................................................. 198
Large Objects .................................................................................................................................................... 198
Tipos de Lobs .................................................................................................................................................... 199
Locator .............................................................................................................................................................. 199
Lob Index ......................................................................................................................................................... 199
Comparação Entre Lob e Longs ....................................................................................................................... 200
Características das Colunas Long e Long Raw ............................................................................................ 200
Características das Colunas Lob .................................................................................................................. 200
Manipulação das Colunas Lob em SQL ........................................................................................................... 200
Inclusão ........................................................................................................................................................ 200
Alteração ...................................................................................................................................................... 201
Consultas ..................................................................................................................................................... 202
Exercícios .......................................................................................................................................................... 202
Fundamentos em: Administração do Banco de Dados .................................................................... 202
Introdução ........................................................................................................................................................ 202
Schema ............................................................................................................................................................. 203
Data Definition Language ................................................................................................................................ 203
Armazenamento ............................................................................................................................................... 204
Tablespace .................................................................................................................................................... 205
Bloco Oracle ................................................................................................................................................. 205
Segmentos .................................................................................................................................................... 206
Extensão ....................................................................................................................................................... 206
Create Table ...................................................................................................................................................... 206
Tipos de Dados ............................................................................................................................................. 207
Constraints .................................................................................................................................................. 209
Create Type ....................................................................................................................................................... 209
Create Index ..................................................................................................................................................... 210
Create Database Link ....................................................................................................................................... 210
Create Synonym ............................................................................................................................................... 210
Create Sequence ............................................................................................................................................... 211

XIV ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Create Role ....................................................................................................................................................... 212
Create Directory ............................................................................................................................................... 213
Create View ...................................................................................................................................................... 214
Create User ....................................................................................................................................................... 214
Alter <objeto> ................................................................................................................................................... 214
Drop <objeto> .................................................................................................................................................. 215
Truncate Table .................................................................................................................................................. 215
Rename ............................................................................................................................................................. 216
Grant ................................................................................................................................................................ 216
Grant Para os <objetos> ............................................................................................................................... 216
Grant <privilégios de sistema> .................................................................................................................... 217
Revoke .............................................................................................................................................................. 218
Revoke Para os <objetos> ............................................................................................................................. 218
Revoke <privilégios de sistema> .................................................................................................................. 219
Exercícios .......................................................................................................................................................... 219
Resolução dos Exercícios Propostos ................................................................................................................. 220
CAPÍTULO 3 – PL/SQL ............................................................................................................................. 249
Fundamentos em: Linguagem de Programação .............................................................................. 250
Introdução ........................................................................................................................................................ 250
Estrutura ........................................................................................................................................................... 250
Modularidade ................................................................................................................................................... 250
Arquitetura ....................................................................................................................................................... 251
Vantagens da PL/SQL ....................................................................................................................................... 251
Suporte Para SQL ......................................................................................................................................... 251
Suporte Para Programação Orientada a Objeto ........................................................................................... 251
Performance ................................................................................................................................................. 251
Portabilidade ................................................................................................................................................ 251
Produtividade ............................................................................................................................................... 252
Integração com o Oracle .............................................................................................................................. 252
Fundamentos em: Características da Linguagem ............................................................................ 252
Identificadores .................................................................................................................................................. 252
Palavras Reservadas .......................................................................................................................................... 253
Literais .............................................................................................................................................................. 253
Número ........................................................................................................................................................ 254
Caracter ........................................................................................................................................................ 254
String ............................................................................................................................................................ 254
Boleano ........................................................................................................................................................ 254
Comentários ..................................................................................................................................................... 254
Fim de Linha .................................................................................................................................................... 254
Fundamentos em: Tipos de Dados ..................................................................................................... 255
Escalares ............................................................................................................................................................ 255
Binary_Integer .............................................................................................................................................. 255
Number ........................................................................................................................................................ 255
Pls_Integer .................................................................................................................................................... 257
Char ............................................................................................................................................................. 257
Varchar2 ....................................................................................................................................................... 258
Long ............................................................................................................................................................. 258
Raw ............................................................................................................................................................... 259
Long Raw ..................................................................................................................................................... 259
Rowid ........................................................................................................................................................... 259
Urowid ......................................................................................................................................................... 260
Nchar ........................................................................................................................................................... 260
Nvarchar2 .................................................................................................................................................... 260

CURSO COMPLETO00✦ XV
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Boolean ........................................................................................................................................................ 260
Date .............................................................................................................................................................. 260
Timestamp ................................................................................................................................................... 261
Timestamp With Time Zone ........................................................................................................................ 261
Timestamp With Local Time Zone .............................................................................................................. 261
Interval Day to Second ................................................................................................................................ 261
Interval Year to Month ................................................................................................................................ 261
Lobs .................................................................................................................................................................. 262
Blob .............................................................................................................................................................. 262
Clob .............................................................................................................................................................. 262
Nclob ............................................................................................................................................................ 262
Bfile .............................................................................................................................................................. 263
Compostos ....................................................................................................................................................... 263
Reference .......................................................................................................................................................... 263
Subtipos Definidos Pelo Usuário ...................................................................................................................... 263
Conversão Implícita ......................................................................................................................................... 264
Fundamentos em: Declarações .......................................................................................................... 265
Introdução ........................................................................................................................................................ 265
Variáveis e Constantes ..................................................................................................................................... 265
%Type ............................................................................................................................................................... 266
Escopo e Visibilidade ........................................................................................................................................ 266
Qualificação ...................................................................................................................................................... 267
Restrições .......................................................................................................................................................... 268
Fundamentos em: Comandos Básicos ............................................................................................... 269
Atribuição ......................................................................................................................................................... 269
IF ....................................................................................................................................................................... 270
Select Into ......................................................................................................................................................... 271
GoTo ................................................................................................................................................................. 272
Restrições ..................................................................................................................................................... 272
Null ................................................................................................................................................................... 273
Funções ............................................................................................................................................................. 274
Funções de SQL Válidas em PL/SQL ............................................................................................................ 274
Funções de SQL Inválidas em PL/SQL ......................................................................................................... 274
Sqlcode ......................................................................................................................................................... 274
SqlErrm ........................................................................................................................................................ 275
Case .................................................................................................................................................................. 275
Exercícios .......................................................................................................................................................... 277
Fundamentos em: Comandos Iterativos ........................................................................................... 279
Cursor ............................................................................................................................................................... 279
Declaração .................................................................................................................................................... 279
Abertura ....................................................................................................................................................... 280
Fetch ............................................................................................................................................................. 281
%Rowtype .................................................................................................................................................... 281
Fechamento ................................................................................................................................................. 282
Cursores Implícitos ...................................................................................................................................... 283
%Found ........................................................................................................................................................ 283
%NotFound .................................................................................................................................................. 283
%Isopen ....................................................................................................................................................... 284
%Rowcount .................................................................................................................................................. 284
Update Para Cursor ...................................................................................................................................... 285
Delete Para Cursor ....................................................................................................................................... 286
Loop ................................................................................................................................................................. 287
Exit ............................................................................................................................................................... 287

XVI ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

While ................................................................................................................................................................ 288
For Loop ........................................................................................................................................................... 289
Cursor Loop ...................................................................................................................................................... 290
Exercícios .......................................................................................................................................................... 291
Fundamentos em: Tratamento de Erro ............................................................................................. 292
Introdução ........................................................................................................................................................ 293
Vantagens das Exceptions ................................................................................................................................ 293
Definindo Exceptions ...................................................................................................................................... 294
Exceptions Predefinidas ................................................................................................................................... 294
Causando uma Exception ................................................................................................................................ 296
O Verbo Raise ............................................................................................................................................... 296
Exception_Init ............................................................................................................................................. 297
A Procedure Raise_Application_Error .............................................................................................................. 298
Propagação da Exceção .................................................................................................................................... 299
As Funções Sqlcode e SqlErrm .......................................................................................................................... 300
When Others .................................................................................................................................................... 300
Exceptions Adquiridas na Declaração ......................................................................................................... 301
Exercícios .......................................................................................................................................................... 301
Fundamentos em: Index-By Tables e Registros ................................................................................ 303
Introdução ........................................................................................................................................................ 303
Index-By Tables ................................................................................................................................................ 303
Declaração e Atribuição ............................................................................................................................... 304
Manipulando Index-By Tables ..................................................................................................................... 305
Métodos ............................................................................................................................................................ 305
Exists ............................................................................................................................................................ 306
Count ........................................................................................................................................................... 307
Limit ............................................................................................................................................................. 307
First e Last .................................................................................................................................................... 307
Prior e Next .................................................................................................................................................. 308
Extend .......................................................................................................................................................... 309
Trim .............................................................................................................................................................. 309
Delete ........................................................................................................................................................... 309
Exceptions Para Coleções ................................................................................................................................. 309
Criando Matrizes .............................................................................................................................................. 310
Registros ........................................................................................................................................................... 311
Declarações .................................................................................................................................................. 311
Referenciando Registros ............................................................................................................................... 312
Manipulando Registros ................................................................................................................................ 314
Exercícios .......................................................................................................................................................... 315
Fundamentos em: Bulk Binds ............................................................................................................ 316
Conceitos .......................................................................................................................................................... 316
O Comando ForAll ....................................................................................................................................... 317
A Cláusula Bulk Collect ............................................................................................................................... 318
O atributo %Bulk_RowCount ...................................................................................................................... 319
O atributo %Bulk_Exceptions ...................................................................................................................... 320
Os Demais Atributos .................................................................................................................................... 321
Características ou Restrições ........................................................................................................................ 321
Exercícios .......................................................................................................................................................... 322
Fundamentos em: Subprogramas ...................................................................................................... 322
Conceito ........................................................................................................................................................... 322
Características dos Subprogramas .................................................................................................................... 322
Parâmetros ........................................................................................................................................................ 324
Modos dos Parâmetros ................................................................................................................................. 324

CURSO COMPLETO00✦ XVII
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Passagem de Parâmetro por Referência ....................................................................................................... 326
Valor Default ................................................................................................................................................ 326
Notação Posicional e Nomeada Para Passagem dos Parâmetros ................................................................. 327
Declarações Forward ........................................................................................................................................ 328
Overloading ...................................................................................................................................................... 329
Stored Subprogram ........................................................................................................................................... 330
Uso de Funções em Comandos de SQL ....................................................................................................... 331
Verificando Erros de Compilação ................................................................................................................ 331
Privilégios em Rotinas Armazenadas ............................................................................................................... 331
Usando AuthId Current_User ...................................................................................................................... 332
Referências Externas .................................................................................................................................... 333
Cuidados Adicionais .................................................................................................................................... 333
Uso de Coleções e Registros como Parâmetros de Subprogramas ................................................................... 334
Usando Funções Para a Criação de Índices ................................................................................................. 335
Exercícios .......................................................................................................................................................... 336
Fundamentos em: Packages ............................................................................................................... 337
Conceito ........................................................................................................................................................... 338
Package Specification ....................................................................................................................................... 338
Package Body .................................................................................................................................................... 339
Restrições .......................................................................................................................................................... 339
Usando Packages .............................................................................................................................................. 340
Usando Pacotes Para Troca de Informações ................................................................................................ 341
Overloading ...................................................................................................................................................... 343
Uso de Funções de Pacotes em Comandos SQL ............................................................................................... 344
Nível de Pureza ............................................................................................................................................ 344
Nível de Pureza e Overloading .................................................................................................................... 345
Nível de Pureza e Comandos de SQL ........................................................................................................... 346
Restrições ..................................................................................................................................................... 347
O Argumento Trust ...................................................................................................................................... 347
Alguns Pacotes do Oracle ................................................................................................................................. 348
Package Standard ......................................................................................................................................... 349
Package Dbms_Standard .............................................................................................................................. 349
Package Dbms_Output ................................................................................................................................. 350
Package Dbms_Pipe ..................................................................................................................................... 350
Package Utl_File ........................................................................................................................................... 350
Package Dbms_Sql ....................................................................................................................................... 351
Package Dbms_Alert ..................................................................................................................................... 351
Package Dbms_Random ............................................................................................................................... 351
Package Dbms_FlashBack ............................................................................................................................ 351
Package Dbms_Lob ...................................................................................................................................... 351
Package Dbms_Rowid .................................................................................................................................. 351
Package Utl_Http ......................................................................................................................................... 351
Exercícios .......................................................................................................................................................... 351
Fundamentos em: O Package Dbms_Output .................................................................................... 352
Conceito ........................................................................................................................................................... 352
Enable ............................................................................................................................................................... 353
Disable .............................................................................................................................................................. 354
Put .................................................................................................................................................................... 354
New_Line .......................................................................................................................................................... 355
Put_Line ........................................................................................................................................................... 355
Get_Line ........................................................................................................................................................... 355
Get_Lines .......................................................................................................................................................... 356
Exemplo Usando o SQL*Plus ........................................................................................................................... 357

XVIII ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Exemplo Usando Outro Programa ................................................................................................................... 358
Exercícios .......................................................................................................................................................... 358
Fundamentos em: O Pacote Utl_File .................................................................................................. 359
Conceito ........................................................................................................................................................... 359
Fopen ................................................................................................................................................................ 361
Fopen_Nchar .................................................................................................................................................... 362
Is_Open ............................................................................................................................................................ 362
Fclose ................................................................................................................................................................ 362
Fclose_All .......................................................................................................................................................... 363
Get_Line ........................................................................................................................................................... 364
Get_Line_Nchar ............................................................................................................................................... 365
Put .................................................................................................................................................................... 365
Put_Nchar ......................................................................................................................................................... 366
New_Line .......................................................................................................................................................... 366
Put_Line ........................................................................................................................................................... 366
Put_Line_Nchar ................................................................................................................................................ 367
Fflush ................................................................................................................................................................ 367
Putf ................................................................................................................................................................... 368
Putf_Nchar ....................................................................................................................................................... 369
Um Exemplo de Leitura ................................................................................................................................... 369
Um Exemplo de Gravação ............................................................................................................................... 370
Exercícios .......................................................................................................................................................... 371
Fundamentos em: O Pacote Dbms_Pipe ............................................................................................ 371
Introdução ........................................................................................................................................................ 372
Pipes Públicos .............................................................................................................................................. 372
Pipes Privativos ................................................................................................................................................ 372
Funcionamento do Pacote ............................................................................................................................... 372
Create_Pipe ....................................................................................................................................................... 373
Pack_Message ................................................................................................................................................... 375
Send_Message ................................................................................................................................................... 376
Receive_Message ............................................................................................................................................... 377
Next_Item_Type ............................................................................................................................................... 378
Unpack_Message .............................................................................................................................................. 378
Remove_Pipe .................................................................................................................................................... 379
Purge ................................................................................................................................................................. 379
Reset_Buffer ...................................................................................................................................................... 380
Unique_Session_Name ..................................................................................................................................... 380
Enviando Dados Para o Pipe ............................................................................................................................ 380
Recebendo Dados do Pipe ................................................................................................................................ 381
Exercícios .......................................................................................................................................................... 382
Fundamentos em: O Pacote Dbms_Rowid ........................................................................................ 382
Rowid ................................................................................................................................................................ 382
O Pacote ........................................................................................................................................................... 383
Rowid_Create ................................................................................................................................................... 384
Rowid_Info ....................................................................................................................................................... 384
Rowid_Type ...................................................................................................................................................... 385
Rowid_Object ................................................................................................................................................... 385
Rowid_Relative_Fno ......................................................................................................................................... 385
Rowid_Block_Number ...................................................................................................................................... 385
Rowid_Row_Number ........................................................................................................................................ 385
Rowid_To_Absolute_Fno .................................................................................................................................. 385
Rowid_To_Extended ......................................................................................................................................... 385
Rowid_To_Restricted ........................................................................................................................................ 386

CURSO COMPLETO00✦ XIX
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Rowid_Verify .................................................................................................................................................... 386
Exercícios .......................................................................................................................................................... 387
Fundamentos em: O pacote Dbms_Lob ............................................................................................. 387
Lobs .................................................................................................................................................................. 387
Tipos de Lobs ............................................................................................................................................... 388
Locator ......................................................................................................................................................... 388
Lob Index ..................................................................................................................................................... 388
Sobre o Pacote .................................................................................................................................................. 388
Componentes do Pacote .............................................................................................................................. 389
Append ............................................................................................................................................................. 391
Close ................................................................................................................................................................. 391
Compare ........................................................................................................................................................... 391
Copy ................................................................................................................................................................. 393
Características .............................................................................................................................................. 393
Comentários ................................................................................................................................................ 393
CreateTemporary .............................................................................................................................................. 394
Erase ................................................................................................................................................................. 394
Comentário .................................................................................................................................................. 395
FileClose ........................................................................................................................................................... 395
FileCloseAll ....................................................................................................................................................... 395
FileExists ........................................................................................................................................................... 395
FileGetName ..................................................................................................................................................... 396
FileIsOpen ........................................................................................................................................................ 397
FileOpen ........................................................................................................................................................... 397
FreeTemporary .................................................................................................................................................. 397
GetChunkSize ................................................................................................................................................... 397
GetLength ........................................................................................................................................................ 398
Instr .................................................................................................................................................................. 399
IsOpen .............................................................................................................................................................. 399
IsTemporary ...................................................................................................................................................... 399
LoadFromFile .................................................................................................................................................... 400
Observações ................................................................................................................................................. 400
Open ................................................................................................................................................................. 401
Read .................................................................................................................................................................. 402
Substr ................................................................................................................................................................ 402
Trim .................................................................................................................................................................. 403
Write ................................................................................................................................................................. 403
WriteAppend .................................................................................................................................................... 403
Restrições .......................................................................................................................................................... 404
Exercícios .......................................................................................................................................................... 404
Fundamentos em: O pacote Dbms_Random ..................................................................................... 406
Introdução ........................................................................................................................................................ 406
Exercícios .......................................................................................................................................................... 407
Fundamentos em: O pacote Dbms_FlashBack .................................................................................. 408
Sobre o Pacote .................................................................................................................................................. 408
Exercícios .......................................................................................................................................................... 412
Fundamentos em: PL/SQL Wrapper .................................................................................................. 412
Introdução ........................................................................................................................................................ 412
Características .................................................................................................................................................. 412
Vantagens ......................................................................................................................................................... 412
Gerando o Código Intermediário..................................................................................................................... 413
Restrições .......................................................................................................................................................... 413
Exercícios .......................................................................................................................................................... 414

XX ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Fundamentos em: External Procedures ............................................................................................ 415
Introdução ........................................................................................................................................................ 415
Criando a Interface .......................................................................................................................................... 415
Definindo a Biblioteca ................................................................................................................................. 415
Registrando Cada Rotina ............................................................................................................................. 416
Parâmetros ........................................................................................................................................................ 417
Características das Linguagens .................................................................................................................... 417
Lista de Compatibilidade C e PL/SQL ......................................................................................................... 418
A Cláusula Parameters ...................................................................................................................................... 419
Propriedades ................................................................................................................................................. 419
Indicator ...................................................................................................................................................... 420
Length e MaxLen ......................................................................................................................................... 420
CharSetId e CharSetForm ............................................................................................................................ 420
Self ................................................................................................................................................................ 420
Tipos das Propriedades ................................................................................................................................ 420
Especificando os Tipos das Propriedades ......................................................................................................... 421
Posicionamento dos Parâmetros .................................................................................................................. 422
Passando Parâmetros por Referência ........................................................................................................... 422
Restrições Relativas a Parâmetros ................................................................................................................ 422
A Cláusula With Context ................................................................................................................................. 423
Usando Rotinas Externas ................................................................................................................................. 423
Como a PL/SQL Aciona uma Rotina Externa .................................................................................................. 424
Usando Rotinas de Serviço ............................................................................................................................... 424
OCIExtProcAllocCallMemory ...................................................................................................................... 424
OCIExtProcRaiseExcp .................................................................................................................................. 425
OCIExtProcRaiseExcpWithMsg ................................................................................................................... 425
Exercícios .......................................................................................................................................................... 425
Fundamentos em: Variáveis Cursor ................................................................................................... 425
Conceito ........................................................................................................................................................... 425
Vantagens ......................................................................................................................................................... 426
Definição .......................................................................................................................................................... 426
Manipulando Variáveis Cursor ........................................................................................................................ 426
Restrições Para Variáveis Cursor ....................................................................................................................... 429
Expressões Cursor ............................................................................................................................................. 430
Restrições Relativas a Expressões Cursor ..................................................................................................... 431
Exercícios .......................................................................................................................................................... 432
Fundamentos em: SQL Dinâmico em PL/SQL .................................................................................. 432
Conceito ........................................................................................................................................................... 433
Usando SQL Dinâmico ..................................................................................................................................... 433
O Comando Execute Immediate ................................................................................................................. 433
Os Comandos Open-For, Fetch e Close ....................................................................................................... 435
Passando um Argumento Null ..................................................................................................................... 437
Bulk Dinâmico ............................................................................................................................................. 438
Exercícios .......................................................................................................................................................... 440
Fundamentos em: Triggers ................................................................................................................. 440
Conceito ........................................................................................................................................................... 440
Evento .............................................................................................................................................................. 441
Os Eventos de DDL e Database .................................................................................................................... 441
Tipo .................................................................................................................................................................. 444
Comando ..................................................................................................................................................... 444
Linha ............................................................................................................................................................ 444
Ação .................................................................................................................................................................. 446
Predicados Condicionais ............................................................................................................................. 446

CURSO COMPLETO00✦ XXI
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Restrições .......................................................................................................................................................... 447
Tabelas Mutantes e Restritas ............................................................................................................................. 448
Compilando Triggers ........................................................................................................................................ 449
Alter Trigger ................................................................................................................................................. 450
Triggers com Eventos de DDL e Database ........................................................................................................ 450
Triggers e Stored Procedures ............................................................................................................................. 452
Transações Autônomas ..................................................................................................................................... 452
Transações Autônomas Versus Dependentes ............................................................................................... 453
Erros Possíveis .............................................................................................................................................. 455
Compilando PL/SQL Para Execução Nativa ..................................................................................................... 455
Exercícios .......................................................................................................................................................... 455
Fundamentos em: Controle da Transação ........................................................................................ 456
Introdução ........................................................................................................................................................ 456
Commit ............................................................................................................................................................ 456
Commit no Fim ........................................................................................................................................... 457
Commit Freqüente ....................................................................................................................................... 457
Rollback ............................................................................................................................................................ 457
Savepoint .......................................................................................................................................................... 458
Rollback Implícito ........................................................................................................................................ 459
Reiniciando uma Transação ............................................................................................................................. 459
Usando uma Tabela de Restart ..................................................................................................................... 459
Salvando por Intervalos ............................................................................................................................... 461
Conclusões ................................................................................................................................................... 462
Set Transaction ................................................................................................................................................. 462
Exercícios .......................................................................................................................................................... 463
Comentários Finais .......................................................................................................................................... 464
Resolução dos Exercícios Propostos ................................................................................................................. 464
CAPÍTULO 4 – OBJETOS E COLEÇÕES .............................................................................................................. 531
Fundamentos em: Objetos e Classes .................................................................................................. 532
Introdução ........................................................................................................................................................ 532
Objetos ............................................................................................................................................................. 532
Primeiras Conclusões ................................................................................................................................... 533
Ações ............................................................................................................................................................ 533
Formalizando os Conceitos ......................................................................................................................... 533
Conclusão .................................................................................................................................................... 533
Classes .............................................................................................................................................................. 533
Comparando com o Mundo Real ................................................................................................................ 534
Conclusão .................................................................................................................................................... 534
Criando Objetos no Banco de Dados ............................................................................................................... 534
Classe ........................................................................................................................................................... 534
Object Table ................................................................................................................................................. 535
Método Construtor ...................................................................................................................................... 535
Inclusão ........................................................................................................................................................ 535
Consulta ....................................................................................................................................................... 536
Alteração e Exclusão .................................................................................................................................... 536
Em PL/SQL ................................................................................................................................................... 537
Métodos ............................................................................................................................................................ 538
Member ........................................................................................................................................................ 539
Map Member ................................................................................................................................................ 540
Restrição ....................................................................................................................................................... 541
Order Member ............................................................................................................................................. 541
Exercícios .......................................................................................................................................................... 542
Fundamentos em: Restrições ............................................................................................................. 542

XXII ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Um Tipo Várias Tabelas .................................................................................................................................... 543
Relacionamentos .............................................................................................................................................. 544
Ref ................................................................................................................................................................ 544
Dangling ...................................................................................................................................................... 546
Garantindo a Integridade Referencial ......................................................................................................... 546
Usando Referências em PL/SQL ....................................................................................................................... 549
Deref ............................................................................................................................................................. 550
Exercícios .......................................................................................................................................................... 551
Fundamentos em: Herança ................................................................................................................ 551
Introdução ........................................................................................................................................................ 551
Composição ...................................................................................................................................................... 552
Herança ............................................................................................................................................................ 554
Conceituando Herança ................................................................................................................................ 555
Final Para Tipo ............................................................................................................................................. 556
Instantiable Para Tipo .................................................................................................................................. 556
Final Para Método ........................................................................................................................................ 559
Overriding .................................................................................................................................................... 559
Instantiable Para Métodos ........................................................................................................................... 559
Static ............................................................................................................................................................ 560
Upcasting ......................................................................................................................................................... 560
Treat .................................................................................................................................................................. 560
Testando o Tipo de Objeto ............................................................................................................................... 561
Polimorfismo .................................................................................................................................................... 561
Exercícios .......................................................................................................................................................... 562
Fundamentos em: Funções e Views ................................................................................................... 562
Funções Relacionadas a Objetos ...................................................................................................................... 562
Deref ............................................................................................................................................................. 563
Ref ................................................................................................................................................................ 563
RefToHex ...................................................................................................................................................... 564
Value ............................................................................................................................................................ 564
Make_Ref ...................................................................................................................................................... 564
Object Views ..................................................................................................................................................... 565
Criando a Object View ................................................................................................................................. 566
Inclusão de Linhas Através da Object View ................................................................................................. 567
Exercícios .......................................................................................................................................................... 568
Fundamentos em: Coleções ................................................................................................................ 568
O que são Coleções? ......................................................................................................................................... 569
Como Implementar Coleções no Oracle ..................................................................................................... 569
Varray Type ...................................................................................................................................................... 569
Quando Usar Varrays ................................................................................................................................... 571
Usando Varrays em PL/SQL ......................................................................................................................... 571
Nested Table Type ............................................................................................................................................ 572
Quando Usar Nested Tables ......................................................................................................................... 574
Usando Cast ..................................................................................................................................................... 575
Exercícios .......................................................................................................................................................... 577
Fundamentos em: Montagem da Base de Dados Objeto .................................................................. 578
Modelo Objeto ................................................................................................................................................. 578
Gerando a Base de Dados ................................................................................................................................. 579
Resolução dos Exercícios Propostos ................................................................................................................. 582
CAPÍTULO 5 – CONHECENDO O BANCO DE DADOS ............................................................................................ 599
Fundamentos em: Table Functions ................................................................................................... 600
Conceito ........................................................................................................................................................... 600

CURSO COMPLETO00✦ XXIII
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Performance ................................................................................................................................................. 600
Passo a Passo ................................................................................................................................................ 600
Apenas Table Functions ................................................................................................................................... 600
Otimizando Diversas Chamadas a Table Functions .................................................................................... 601
Pipelined Table Functions ................................................................................................................................ 602
Pipelined Table Functions Usando REF CURSOR ............................................................................................ 603
Erros e Restrições ......................................................................................................................................... 603
Obtendo Resultados de Table Functions ..................................................................................................... 604
Usando Mais de um Parâmetro REF CURSOR ............................................................................................. 604
Execução em Paralelo de Table Functions ....................................................................................................... 604
Data Streaming ................................................................................................................................................. 606
Manuseando Table Functions .......................................................................................................................... 607
Executando Operações de DML Dentro de Table Functions ....................................................................... 607
Executando Operações de DML Sobre Table Functions .............................................................................. 607
Controlando Exceptions em Table Functions ............................................................................................. 607
Opções de Implementação Para Pipelined Table Functions ............................................................................ 607
Implementação por Interface ...................................................................................................................... 608
Tipos Transientes e Genéricos .......................................................................................................................... 608
Exercícios .......................................................................................................................................................... 608
Fundamentos em: Criando Suas Próprias Funções de Agregação .................................................. 609
Objetivo ............................................................................................................................................................ 609
Forma ............................................................................................................................................................... 609
Parâmetros ........................................................................................................................................................ 609
Função .............................................................................................................................................................. 610
Restrição ....................................................................................................................................................... 610
Função Analítica .......................................................................................................................................... 610
Criando uma Função de Agregação do Usuário ............................................................................................... 610
Criando o Tipo de Objeto ............................................................................................................................ 610
Criando o Corpo do Tipo ............................................................................................................................ 611
Criando a Função de Agregação .................................................................................................................. 611
Usando a Função de Agregação Criada ....................................................................................................... 612
Cuidado na Preparação da Função .............................................................................................................. 612
Exercícios .......................................................................................................................................................... 612
Fundamentos em: Tabelas Temporárias ........................................................................................... 612
Conceito ........................................................................................................................................................... 612
Características .................................................................................................................................................. 613
Exercícios .......................................................................................................................................................... 614
Fundamentos em: Performance do SQL ........................................................................................... 615
Introdução ........................................................................................................................................................ 615
Conceito ........................................................................................................................................................... 615
Executando um Comando de SQL ................................................................................................................... 616
Parse ............................................................................................................................................................. 616
Execute ......................................................................................................................................................... 616
Fetch ............................................................................................................................................................. 617
Otimização ....................................................................................................................................................... 617
Plano de Execução ....................................................................................................................................... 617
O Otimizador ............................................................................................................................................... 617
Passos da Análise do Otimizador ..................................................................................................................... 617
Resolução de Expressões e Condições ......................................................................................................... 617
Transformação de Comandos ...................................................................................................................... 618
Os Métodos de Otimização .............................................................................................................................. 618
Rule .............................................................................................................................................................. 618
Cost .............................................................................................................................................................. 619

XXIV ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Influenciando a Escolha do Otimizador ...................................................................................................... 619
Visualizando o Caminho de Acesso Escolhido ................................................................................................ 620
Explain Plan ................................................................................................................................................. 620
Lendo o Resultado de um Plano de Execução ............................................................................................. 621
O Autotrace do SQL*Plus ............................................................................................................................. 622
Entendendo o Caminho de Acesso Escolhido ............................................................................................. 623
Gerando Dados Para o Otimizador .................................................................................................................. 626
Uso de Índices .................................................................................................................................................. 626
Os Índices B*Tree ......................................................................................................................................... 626
Os Índices Bitmap ........................................................................................................................................ 626
Conceituando Índices Bitmap ..................................................................................................................... 626
Usando Hints ................................................................................................................................................... 627
Sintaxe Para Especificação de Hints ............................................................................................................. 627
Exercícios .......................................................................................................................................................... 628
Fundamentos em: Views Materializadas .......................................................................................... 629
Conceitos Gerais .............................................................................................................................................. 629
A Atualização das Views Materializadas ...................................................................................................... 630
Exemplos .......................................................................................................................................................... 630
Query Rewrite, uma Análise ............................................................................................................................. 631
Métodos ....................................................................................................................................................... 632
Níveis de Integridade ................................................................................................................................... 632
Exercícios .......................................................................................................................................................... 633
Fundamentos em: Particionamento de Tabelas ............................................................................... 633
Uma Visão Geral .............................................................................................................................................. 633
Métodos de Particionamento ........................................................................................................................... 633
Range ........................................................................................................................................................... 633
Hash ............................................................................................................................................................. 634
Composite .................................................................................................................................................... 634
Características e Restrições .......................................................................................................................... 634
Usando Tabelas Particionadas .......................................................................................................................... 634
Movimentação de Linhas ................................................................................................................................. 635
Particionamento de Índices ............................................................................................................................. 636
Índices Globais ............................................................................................................................................. 636
Índices Locais ............................................................................................................................................... 636
Exercícios .......................................................................................................................................................... 637
Resolução dos Exercícios Propostos ................................................................................................................. 637
CAPÍTULO 6 – INSTALANDO O ORACLE DEVELOPER 6I NO WINDOWS ................................................................... 655
Considerações Iniciais ...................................................................................................................................... 656
Fundamentos em: Instalação do Produto ........................................................................................ 656
Iniciando a instalação do Forms6i ................................................................................................................... 656
Idioma .............................................................................................................................................................. 656
Tools Options ................................................................................................................................................... 657
Oracle Forms Developer .............................................................................................................................. 657
Oracle Forms Server ..................................................................................................................................... 657
Oracle Reports Developer ............................................................................................................................ 658
Oracle Reports Server ................................................................................................................................... 658
Installation Options ......................................................................................................................................... 658
Test Forms Server .............................................................................................................................................. 658
Process Startup ................................................................................................................................................. 659
Iniciando a Instalação do Reports6i ................................................................................................................. 661
Configurando o TnsNames.Ora ....................................................................................................................... 662
PARTE 2 – DEVELOPER ............................................................................................................................... 665
CAPÍTULO 7 – O FORM BUILDER R6I ............................................................................................................ 667

CURSO COMPLETO00✦ XXV
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Developer com: Forms Developer R6i ............................................................................................... 668
Sobre o Pacote .................................................................................................................................................. 668
Sobre a Ferramenta ........................................................................................................................................... 669
Sobre o Estudo .................................................................................................................................................. 669
Developer com: A Ferramenta Form Builder ................................................................................... 669
Introdução ........................................................................................................................................................ 670
Ativando o Form Builder ............................................................................................................................. 670
O Navegador de Objetos (Object Navigator) ................................................................................................... 670
Expandir ou Recolher .................................................................................................................................. 671
Criar ou Deletar ........................................................................................................................................... 672
Copiar, Recortar e Colar ............................................................................................................................... 672
Executar e Depurar ...................................................................................................................................... 673
Novo, Abrir e Salvar ..................................................................................................................................... 673
Localizar ....................................................................................................................................................... 674
Navegando na Hierarquia ............................................................................................................................ 674
Painéis do Navegador .................................................................................................................................. 675
Alterando o Nome de um Elemento ............................................................................................................ 675
O Menu do Form Builder ............................................................................................................................. 676
Criando uma Aplicação .................................................................................................................................... 676
Bloco de Dados ............................................................................................................................................ 676
Criando uma Aplicação Para a Tabela Func ................................................................................................ 676
Executando a Aplicação Criada ........................................................................................................................ 682
Incluindo um Novo Funcionário ................................................................................................................ 683
Consultando Funcionários .......................................................................................................................... 683
Alterando Funcionários ............................................................................................................................... 684
Excluindo Funcionários ............................................................................................................................... 685
Bloqueando Funcionários ............................................................................................................................ 685
Navegação .................................................................................................................................................... 685
Menu Ajuda ................................................................................................................................................. 685
Salva Implícita ............................................................................................................................................. 686
Conclusões ................................................................................................................................................... 687
Exercícios .......................................................................................................................................................... 687
Developer com: Blocos ........................................................................................................................ 689
Analisando ....................................................................................................................................................... 689
Propriedades ..................................................................................................................................................... 689
A Área de Buffer ................................................................................................................................................ 690
Hierarquia Funcional ................................................................................................................................... 691
Controlando a Situação do Registro ................................................................................................................ 691
Tipos de Blocos ................................................................................................................................................. 691
Revisando a Situação do Registro ................................................................................................................ 692
Ações que Causam a Mensagem .................................................................................................................. 692
Navegação ........................................................................................................................................................ 693
Definindo a Seqüência de Navegação ......................................................................................................... 693
Definindo o Estilo de Navegação ................................................................................................................. 694
Modificando as Características dos Registros .................................................................................................. 694
Ligando o Bloco ao Database ........................................................................................................................... 695
Criando um Bloco a Partir de um Procedimento ............................................................................................ 696
O Pacote Pfunc ............................................................................................................................................. 696
Definindo um Bloco de Dados do Tipo Procedimento ............................................................................... 698
Comentários Relativos a Procedimentos ..................................................................................................... 702
Restrições Relativas aos Tipos de Blocos ...................................................................................................... 702
Exercícios .......................................................................................................................................................... 703
Developer com: Interface Visual ....................................................................................................... 704

XXVI ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Hierarquia Visual .............................................................................................................................................. 704
Itens .................................................................................................................................................................. 705
Propriedades Comuns .................................................................................................................................. 706
Item de Texto (Text Item) ............................................................................................................................ 709
Item da Lista (List Item) ............................................................................................................................... 710
Item de Exibição (Display Item) .................................................................................................................. 711
Grupo de Opções (Radio Group) ................................................................................................................. 711
Botão de Opção (Radio Button) ................................................................................................................... 711
Imagem (Image) ........................................................................................................................................... 711
Tecla (Push Button) ...................................................................................................................................... 712
Caixa de Seleção (Check Box) ...................................................................................................................... 713
Definindo Prompts ...................................................................................................................................... 713
Exercícios .......................................................................................................................................................... 715
Developer com: Canvas e Windows ................................................................................................... 717
Introdução ........................................................................................................................................................ 717
Janelas (Windows) ............................................................................................................................................ 718
Canvas .............................................................................................................................................................. 720
Canvas de Conteúdo (Content) .................................................................................................................. 721
Canvas Barra de Ferramentas (Toolbar) ....................................................................................................... 722
Canvas Empilhado (Stack) ........................................................................................................................... 722
Canvas Tab (Tab) .......................................................................................................................................... 723
Exercícios .......................................................................................................................................................... 723
Developer com: O Editor de Layout .................................................................................................. 725
Introdução ........................................................................................................................................................ 725
Quadro (Frame) ................................................................................................................................................ 725
A Janela do Editor de Layout ........................................................................................................................... 728
Workspace .................................................................................................................................................... 728
Barra de Título (Title bar) ............................................................................................................................. 728
Réguas (Rulers) ............................................................................................................................................. 728
Guias ............................................................................................................................................................ 728
Grid .............................................................................................................................................................. 728
Linha Indicativa de Situação (Status line) ................................................................................................... 729
As Barras de Ferramentas .................................................................................................................................. 729
A Barra de Ferramentas Horizontal Superior ............................................................................................... 729
A Barra de Ferramentas Horizontal Inferior ................................................................................................ 729
A Barra de Ferramentas Vertical ou Paleta de Ferramentas ......................................................................... 731
Manipulando uma Canvas no Editor de Layout ............................................................................................. 734
Mostrar ou Esconder a Canvas .................................................................................................................... 734
Redimensionar a Canvas ............................................................................................................................. 734
Mudar os Atributos Visuais da Canvas ........................................................................................................ 734
Mostrar ou Esconder o Viewport ................................................................................................................. 734
Mover o Viewport ........................................................................................................................................ 735
Posicionar uma Canvas do Tipo Empilhado ou do Tipo Tab Sobre uma Canvas de Conteúdo ................. 735
Manipulando Itens no Editor de Layout ......................................................................................................... 735
Criando Itens ............................................................................................................................................... 735
Marcando o Contexto Para um Bloco ......................................................................................................... 735
Mover Itens .................................................................................................................................................. 736
Redimensionando Objetos na Canvas ........................................................................................................ 736
Alinhando Objetos na Canvas ..................................................................................................................... 736
Obter as Propriedades de um Item .............................................................................................................. 737
Manipulando Boilerplates no Editor de Layout ............................................................................................... 737
Boilerplate de Texto ..................................................................................................................................... 737
Boilerplate Gráfico ....................................................................................................................................... 737

CURSO COMPLETO00✦ XXVII
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Ações Comuns aos Objetos de Layout ............................................................................................................. 737
Atribuindo Fonte ......................................................................................................................................... 737
Modificando a Linha ................................................................................................................................... 738
Alinhamento e Espacejamento .................................................................................................................... 738
Seleção de um ou Vários Objetos ................................................................................................................ 739
Operações ..................................................................................................................................................... 739
Exercícios .......................................................................................................................................................... 739
Developer com: Eventos e Gatilhos (Triggers) ................................................................................. 741
Conceituando Eventos ..................................................................................................................................... 741
Conceituando Gatilhos (Triggers) ............................................................................................................... 741
Escopo de um Gatilho (Trigger) ....................................................................................................................... 742
Item .............................................................................................................................................................. 742
Bloco ............................................................................................................................................................ 742
Módulo ......................................................................................................................................................... 742
Ordem de Execução ..................................................................................................................................... 742
Restrições ..................................................................................................................................................... 742
Criando Gatilhos (Triggers) .............................................................................................................................. 743
O Editor de PL/SQL .......................................................................................................................................... 743
Indentação Automática ............................................................................................................................... 744
Indentação Manual ...................................................................................................................................... 744
Cores ............................................................................................................................................................ 744
Seleção .......................................................................................................................................................... 745
Cópia e Movimentação de Textos ............................................................................................................... 745
Split da Área de Edição ................................................................................................................................ 745
Impressão, Exportação e Importação........................................................................................................... 745
Opção Desfazer ............................................................................................................................................ 746
Classificação dos Gatilhos (Triggers) ................................................................................................................ 746
Classificação por Nome ............................................................................................................................... 746
Classificação por Categoria Funcional ........................................................................................................ 746
Rotinas Predefinidas .................................................................................................................................... 747
Gatilhos Para Validação ............................................................................................................................... 747
Gatilhos Para Processamento do Bloco ....................................................................................................... 749
Gatilhos Associados à Interface ................................................................................................................... 750
Gatilhos Associados a uma Consulta ........................................................................................................... 756
Gatilhos Associados à Navegação ................................................................................................................ 756
Gatilhos Associados ao Controle de Mensagens ......................................................................................... 758
Gatilhos Associados ao Relacionamento Entre Blocos (Master-Detail) ....................................................... 759
Gatilhos Associados à Interface com o Banco de Dados ............................................................................. 759
Propriedades dos Gatilhos (Triggers) ................................................................................................................ 761
Falha nos Gatilhos ........................................................................................................................................... 762
Paleta de Sintaxe .............................................................................................................................................. 762
Exercícios .......................................................................................................................................................... 763
Developer com: Relacionamento Master-Detail .............................................................................. 765
Conceito ........................................................................................................................................................... 765
O Objeto Relação (Relation) ............................................................................................................................. 765
Métodos de Relacionamento ....................................................................................................................... 765
Conseqüências do Relacionamento ............................................................................................................. 766
Propriedades da Relação ................................................................................................................................... 767
Os Gatilhos (Triggers) de uma Relação ............................................................................................................ 768
Gatilhos Associados ao Relacionamento Entre Blocos (Master-Detail) ....................................................... 768
Exercícios .......................................................................................................................................................... 769
Developer com: Variáveis e Rotinas .................................................................................................. 771
Introdução ................................................................................................................................................... 771

XXVIII ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Rotinas .............................................................................................................................................................. 772
Rotinas Locais .............................................................................................................................................. 772
Rotinas Armazenadas no Banco de Dados .................................................................................................. 773
O Assistente Para a Criação de Tipos (Type Wizard) ................................................................................... 774
Rotinas Armazenadas em Bibliotecas (Libraries) ......................................................................................... 776
Empacotamento da Lógica .......................................................................................................................... 776
Variáveis ........................................................................................................................................................... 777
Variáveis Locais ............................................................................................................................................ 777
Itens Fora de Canvas .................................................................................................................................... 778
Variáveis de Pacote no Form ........................................................................................................................ 778
Parâmetros ................................................................................................................................................... 779
Variáveis Globais .......................................................................................................................................... 780
Comparando as Variáveis ............................................................................................................................ 780
Variáveis de Sistema ..................................................................................................................................... 781
Database Triggers .............................................................................................................................................. 782
Exercícios .......................................................................................................................................................... 783
Developer com: Alertas, Atributos Visuais e Editores ..................................................................... 784
Alertas (Alerts) .................................................................................................................................................. 784
Atributos Visuais (Visual Attributes) ................................................................................................................ 786
Editor ................................................................................................................................................................ 787
Exercícios .......................................................................................................................................................... 789
Developer com: Lovs e Record Groups .............................................................................................. 790
Lista de Valores (List of Values) - Lovs ............................................................................................................. 790
Criando uma Lov ......................................................................................................................................... 791
Propriedades da Lov ..................................................................................................................................... 793
Associando a Lov a um Item ........................................................................................................................ 794
Mapeando na Lov as Colunas do Record Group ......................................................................................... 794
Testando a Lov Criada ................................................................................................................................. 795
Controlando a Apresentação da Lov ........................................................................................................... 796
Recomendações a Respeito de Lovs ............................................................................................................. 796
A Coluna de Pesquisa ................................................................................................................................... 796
Record Groups .................................................................................................................................................. 797
Query Record Group .................................................................................................................................... 797
Static Record Group ..................................................................................................................................... 798
Criando Lovs a Partir dos Record Groups .................................................................................................... 799
Non-Query Record Group ........................................................................................................................... 800
Exercícios .......................................................................................................................................................... 800
Developer com: A Depuração do PL/SQL .......................................................................................... 801
Descrição .......................................................................................................................................................... 801
A Janela de Depuração ..................................................................................................................................... 802
Marcando um Ponto de Interrupção ............................................................................................................... 803
BreakPoint .................................................................................................................................................... 803
Trigger .......................................................................................................................................................... 804
Acompanhando uma Depuração ..................................................................................................................... 805
Depurando com um Ponto de Interrupção ................................................................................................. 805
Depurando com um Trigger ........................................................................................................................ 806
Criando uma Interrupção Estática ................................................................................................................... 806
Exercícios .......................................................................................................................................................... 807
Developer com: Pacotes, VBX, OCX e OLE ........................................................................................ 808
VBX ,OCX e OLE .............................................................................................................................................. 808
OLE, OCX e VBX no Form Builder .............................................................................................................. 809
VBX .............................................................................................................................................................. 809
OLE Container ............................................................................................................................................. 810

CURSO COMPLETO00✦ XXIX
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

OCX (ActiveX Control) ............................................................................................................................... 813
Pacotes Embutidos ........................................................................................................................................... 815
Ftree ............................................................................................................................................................. 816
Standard Extensions .................................................................................................................................... 818
DDE .............................................................................................................................................................. 818
Debug ........................................................................................................................................................... 818
OLE2 ............................................................................................................................................................ 818
Ora_Ffi .......................................................................................................................................................... 818
Ora_Nls ........................................................................................................................................................ 819
Ora_Prof ....................................................................................................................................................... 819
Text_IO ......................................................................................................................................................... 820
Tool_Env ...................................................................................................................................................... 820
Tool_Err ........................................................................................................................................................ 821
Tool_Res ....................................................................................................................................................... 821
Pecs .............................................................................................................................................................. 821
VBX .............................................................................................................................................................. 821
Web .............................................................................................................................................................. 822
Forms_Ole .................................................................................................................................................... 822
Standard ....................................................................................................................................................... 822
Exercícios .......................................................................................................................................................... 822
Developer com: Características Gerais ............................................................................................. 823
Estudando o Módulo ........................................................................................................................................ 823
Preferências ...................................................................................................................................................... 825
Pasta Geral ................................................................................................................................................... 825
Pasta Acesso ................................................................................................................................................. 827
Pasta Assistentes ........................................................................................................................................... 827
Pasta Runtime .............................................................................................................................................. 828
Opções de Execução ..................................................................................................................................... 829
Forms Runtime Diagnostics ............................................................................................................................. 831
Sintaxe de Gravação das Informações ......................................................................................................... 831
Construção de um Exemplo ........................................................................................................................ 832
Resultado Gerado ......................................................................................................................................... 832
Exercícios .......................................................................................................................................................... 833
Developer em: Reutilização de Código e Padronização .................................................................. 834
Descrição .......................................................................................................................................................... 834
Template ........................................................................................................................................................... 834
Classe de Propriedades ..................................................................................................................................... 834
Usando o Botão Incluir Propriedade (Add Property) .................................................................................. 835
Usando o Botão Classe de Propriedade (Property Class) ............................................................................. 835
Os Botões Copiar (Copy Properties) e Colar Propriedades (Paste Properties) ............................................. 835
O Botão Deletar Propriedade (Delete Property) ........................................................................................... 835
O Botão Interseção/União (Intersection/Union) ......................................................................................... 836
O Botão Congelar/Descongelar (Freeze/Unfreeze) ...................................................................................... 836
Gatilho em uma Classe de Propriedades ..................................................................................................... 836
Atribuindo a Classe de Propriedades a um Botão ........................................................................................ 836
O Botão Herdar ............................................................................................................................................ 837
Biblioteca de Objetos ....................................................................................................................................... 838
Criando a Biblioteca de Objetos .................................................................................................................. 838
Usando Objetos da Biblioteca ...................................................................................................................... 838
Modificando os Objetos de uma Biblioteca de Objetos .............................................................................. 838
SmartClass .................................................................................................................................................... 839
Copiando Dados de Outra Aplicação ............................................................................................................... 840
Referência ..................................................................................................................................................... 840

XXX ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

SUMÁRIO

Cópia ............................................................................................................................................................ 840
Grupo de Objetos (Object Group) ................................................................................................................... 840
Conclusões ....................................................................................................................................................... 840
Exercícios .......................................................................................................................................................... 841
Developer com: O Módulo Library .................................................................................................... 842
Conceituação .................................................................................................................................................... 842
Criando uma Biblioteca (Library) .................................................................................................................... 842
Associando uma Biblioteca a uma Aplicação ................................................................................................... 843
Uso de Variáveis em Bibliotecas ....................................................................................................................... 844
Considerações Sobre Armazenamento ............................................................................................................. 844
Exercícios .......................................................................................................................................................... 845
Developer com: O Módulo Menu ....................................................................................................... 845
Descrição .......................................................................................................................................................... 845
Objetos de um Módulo Menu .......................................................................................................................... 846
Criando Itens de Menu via Navegador ............................................................................................................ 846
Propriedades dos Itens de Menu ...................................................................................................................... 847
Criando Itens de Menu via Editor .................................................................................................................... 848
Associando um Módulo de Menu a um Form ................................................................................................. 850
Demais Propriedades Relativas a Menu ....................................................................................................... 850
Call_Form X New_Form .............................................................................................................................. 851
Características Particulares de Alguns Itens de Menu ...................................................................................... 852
Check Menu Items ....................................................................................................................................... 852
Radio Menu Items ........................................................................................................................................ 852
Restrição ....................................................................................................................................................... 852
Propriedades de um Menu ............................................................................................................................... 852
Propriedades do Módulo Menu ....................................................................................................................... 852
Parâmetros Para Menu ..................................................................................................................................... 853
Parâmetros Predefinidos .............................................................................................................................. 853
Parâmetros do Usuário ................................................................................................................................. 853
Exercícios .......................................................................................................................................................... 854
Relatórios (Reports) .......................................................................................................................................... 854
Developer com: Tipos do Banco de Dados ........................................................................................ 855
Os Tipos de Dado do Banco de Dados ............................................................................................................. 855
Suporte a Large Objetcs (Lobs) ......................................................................................................................... 855
Tlob .............................................................................................................................................................. 855
Restrições ..................................................................................................................................................... 857
Suporte a Objetos do Banco de Dados ............................................................................................................. 857
Performance ..................................................................................................................................................... 859
Suporte ao PL/SQL ............................................................................................................................................ 859
Exercícios .......................................................................................................................................................... 860
Resolução dos Exercícios Propostos ................................................................................................................. 860
CAPÍTULO 8 – O REPORT BUILDER R6I ........................................................................................................ 947
Developer com: Reports Developer R6i ............................................................................................ 948
Sobre o Pacote .................................................................................................................................................. 948
Sobre a Ferramenta ........................................................................................................................................... 949
Sobre o Estudo .................................................................................................................................................. 949
Developer com: A Ferramenta Report Builder ................................................................................ 949
Conceitos Iniciais ............................................................................................................................................. 950
Ativando o Report Builder ........................................................................................................................... 950
O Navegador de Objetos (Object Navigator) ................................................................................................... 951
Expandir ou Contrair ................................................................................................................................... 952
Criar ou Deletar ........................................................................................................................................... 952

CURSO COMPLETO00✦ XXXI
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO

Executar, Imprimir e Mensagem .................................................................................................................. 953
Abrir e Salvar ................................................................................................................................................ 954
Localizar ....................................................................................................................................................... 954
Navegando na Hierarquia ............................................................................................................................ 954
Painéis do Navegador .................................................................................................................................. 955
Alterando o Nome de um Elemento ............................................................................................................ 955
O Menu do Report Builder .......................................................................................................................... 956
Criando uma Aplicação .................................................................................................................................... 956
Estabelecendo Conexão com o Banco de Dados ......................................................................................... 956
Estilo do Relatório ........................................................................................................................................ 956
Query Builder – Tabelas ............................................................................................................................... 957
Query Builder – Diálogo Principal ............................................................................................................... 958
Query Builder – Colunas .............................................................................................................................. 958
Query Builder – SQL .................................................................................................................................... 959
Query Builder – Definindo uma Coluna ..................................................................................................... 960
Query Builder – Ordenando o Resultado ..................................................................................................... 960
Query Builder – Alias ................................................................................................................................... 961
Query Builder – Incluindo uma Restrição ................................................................................................... 961
Campos (Fields) ........................................................................................................................................... 962
Totais (Totals) ............................................................................................................................................... 962
Etiquetas (Labels) ......................................................................................................................................... 962
Gabarito (Template) ..................................................................................................................................... 963
Exercícios .......................................................................................................................................................... 963
Developer com: O Modelo de Dados .................................................................................................. 965
Componentes de um Relatório ........................................................................................................................ 965
O Editor do Modelo de Dados .......................................................................................................................... 965
A Paleta de Ferramentas ............................................................................................................................... 965
A Barra de Ferramentas ................................................................................................................................ 966
A Barra de Status .......................................................................................................................................... 966
Criando uma Consulta ..................................................................................................................................... 967
Consulta (Query) ......................................................................................................................................... 967
Grupo (Group) ............................................................................................................................................. 968
Colunas do Banco de Dados ........................................................................................................................ 968
Criando um Layout ..................................................................................................................................... 969
Criando um Grupo de Quebra ......................................................................................................................... 969
Relacionando Dados ........................................................................................................................................ 971
Variável Cursor ................................................................................................................................................. 973
Integração com Outras Ferramentas de Suporte a Decisão .............................................................................. 974
Ordenação por Dimensão ............................................................................................................................ 975
Exercícios .......................................................................................................................................................... 975
Developer com: Sumários e Fórmulas ............................................................................................... 976
Sumários ........................................................................................................................................................... 976
Determinando a Freqüência de Impressão .................................................................................................. 976
Determinando a Função do Sumário .......................................................................................................... 978
Determinando a Coluna-Origem do Sumário ............................................................................................. 979
Quando Zerar o Sumário ............................................................................................................................. 979
Determinando o Grupo de Totalização ....................................................................................................... 980
Fórmulas ........................................................................................................................................................... 980
Determinando a Freqüência de Impressão .................................................................................................. 981
Determinando o Tipo de Retorno ............................................................................................................... 981
Determinando a Função da Fórmula ........................................................................................................... 981
Exercícios .......................................................................................................................................................... 983
Developer com: Parâmetros ............................................................................................................... 985

XXXII ✦00CURSO COMPLETO
Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

................................ 1010 A Barra de Ferramentas Vertical ou Paleta de Ferramentas . 1014 Obter as Propriedades de um Objeto ................ 1008 Barra de Título (Title bar) ................................................................................................................................................................................................... 1013 Mover Objetos ...................... 988 Parâmetros de Usuário .............................................................................................................................................................................. 985 Parâmetros de Sistema ....................................... 999 Camadas de Impressão ...... 1009 Linha Indicativa de Situação (Status Line) .............................................................................................................................. 1015 Manipulando Boilerplates no Editor de Layout ................. 1014 Alinhando Objetos .......................................................................................................................................................................................................................................................................................................................................................... 986 Decimal .. 991 Criando uma Tela de Parâmetros ............................................................................... 1016 CURSO COMPLETO00✦ XXXIII Para uso pessoal.................................................................. 992 Exercícios ............................................................................... SUMÁRIO Conceituação ....................................................................................................................................... 986 Background ..................................................................................................................................................................... 1008 Guias ..................................................................................................................... 992 Usando um Criador Automático ................................................................................................................................. 988 Bind Reference .................................................................................................................................................. 1008 Grid ................................................................................................................................................................................................................................................... 986 Currency ................................ 1014 Redimensionando um Objeto ............................................................. 1007 Developer com: O Editor do Layout Model ...................................................................................................... 1002 Elasticidade ................................... 1009 As Barras de Ferramentas ............................. 1015 Boilerplate Gráfico ..................................................................................................... 994 Introdução ............... 1009 A Barra de Ferramentas Horizontal Superior ........................................................................... 1015 Atribuindo Fonte ................... 987 Destype ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 986 Desformat ................................................................................. 986 Copies ....................................................................................................................................................................................................................................................... 1004 Exercícios ................................................................................................................................................................................................................. 989 Lexical Reference ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 987 PrintJob ................................................................................................................. 1013 Criando Objetos ....... 986 Desname .............................................. 988 Lista de Valores .................................................... 1011 Manipulando Objetos no Editor de Layout ................................................................................................................................................................................................................................................................ 993 Developer com: Os Primeiros Objetos do Layout ......................................................... 995 Campos (Fields) ........................................................................................................................................................................... 1009 A Barra de Ferramentas Horizontal Inferior (Barra de Estilo) .................................................................................................................................................................................................................................................................................................................................................................... 1008 Réguas (Rulers) ............................................................................... 995 Quadros de Repetição (Repeating Frames) ................................................................................................................................................. 988 Thousands ........................................................................................................................................................................................................................................................................................................................................................................................................................... 987 Orientation ............................................................ 998 Boilerplates .................................................... 1015 Boilerplate de Texto .......................................................................................................................... 1001 Freqüência de Impressão ................................................................................................................................................................................. 1008 A Janela do Editor de Layout ......................................................................................... 1015 Ações Comuns aos Objetos de Layout ............................ 987 Mode ................................................................................................. 1014 Redimensionando Diversos Objetos ..................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos............................................ ................................................................................................................................................................................................................ 1008 Workspace .............................................

............................................................................ 1032 Indentação Manual .............................................................................................................................................................................................................................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos...................................................................................................... 1032 Indentação Automática ........................................................ 1016 Seleção de um ou Vários Objetos ................................................................................................................................................................. 1044 Ora_Nls ...................................................................................... 1023 Gatilhos de Validação (Validation Triggers) ....................................................................................................................... 1039 Botões (Buttons) ...... 1045 XXXIV ✦00CURSO COMPLETO Para uso pessoal.......................................................................................................................................................................................................................................................... 1028 Rotinas Armazenadas em Bibliotecas (Libraries) .............................................. ..................................... 1034 Introdução ....... 1031 Database Triggers .................... 1043 Srw .................................................................. 1043 O Nó Pacotes Embutidos ...................................................................................................................................................................................................................... 1036 Quadros (Frames) .......... 1042 Developer com: Pacotes Embutidos .......... 1030 Gatilhos de Relatório (Report Triggers) ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1019 Inserir Numeração ........... 1021 Exercícios ................................... 1033 Exercícios ............................................................................................................ 1044 Ora_De .................................. 1023 Fórmula (Formula) .............. 1020 Importando Arquivos Para o Layout .......... 1043 Ora_Ffi ...... 1031 O Editor de PL/SQL ......................................................................................................................... 1043 OLE2 ........................ 1016 Grupando Objetos ....................................................................................... 1033 Split da Área de Edição ............... 1027 Rotinas Armazenadas no Banco de Dados .......................................................................... 1019 Inserir Data e Hora ......................................................................................................................................... 1043 DDE ..................................................................................................................................................................................................................................................................................................... 1022 PL/SQL Intrínseca .................................................................................................................................................................................................................................................................................................................................................................................................................................... 1022 Filtros de Grupo (Group Filters) ............................................ 1033 Developer com: Mais Objetos do Layout ...................................................................................................................................... 1035 Âncoras (Anchors) .................................................................................................................................................................... 1024 Gatilhos de Formato (Format Trigger) ................................................................... 1025 PL/SQL Externa .......... 1032 Cópia e Movimentação de Textos ....................................................................... 1032 Cores ................................................................................................................ 1017 Navegando Pelas Diversas Partes de um Relatório .............. 1032 Seleção ........................................................................................................ 1022 Conceitos Iniciais .......................................................................................................................................................................................................... 1044 Ora_Prof ...................................................................................................................................................................................................................................................................... 1016 Operações ................................................................................................................................................................................................................................................................................................................................................................... 1016 Alinhamento e Espacejamento ......................................................................................................................... 1033 Impressão..................................... 1041 Exercícios ............................................................................................................................................................................................................................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Modificando a Linha ............................................................................ 1033 Opção Desfazer ............................................... 1017 Incluindo Elementos na Margem ................................................ 1027 O Assistente Para a Criação de Tipos (Type Wizard) ........................................................................................................................................................................................................................................................................................................... Exportação e Importação............................................................................................................................................................................................................................................................................................ 1024 PL/SQL Interna .................................. 1034 Visualizando as Informações de Ancoragem ............................................................................................ 1021 Developer com: PL/SQL no Relatório .............................................................................................................. 1030 Empacotamento da Lógica .................................................................................................................................................................................. 1020 Adicionando um Boilerplate por um Arquivo de Ligação (Linked File) .....................

................................................................................................................................................... 1046 Tool_Res ........................................................................................................... 1069 Modelo de Dados .................... 1069 Modelo de Dados ........................................... 1048 Variáveis Locais ........................................... 1069 Layout ..................................... 1047 Obtendo a Sintaxe dos Pacotes ........................................................................................................................................................................................................................................................................................................................ 1052 Rotinas .... 1047 Developer com: Variáveis no Report Builder .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1070 Modelo de Dados .......................................................................................................................................................................................................................................... 1067 Nested Matrix ............................................................................................................................................................................................................................................................................................................................................................................................... 1061 Modo Caracter (Character Mode) .................................... 1055 Preferências ....................................................... 1057 Pasta Valores de Runtime ............. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 1058 Estudando o Módulo ............ 1051 Exercícios ....... 1061 Exercícios ..................................................................................................................... 1062 Developer com: Relatórios Matriciais ...... 1069 Layout ............................. 1060 Definições XML (XML Definitions) ....... 1056 Pasta Geral .......................................................................................................................................................................................................................................................................................................................................... 1059 Relatório (Report) ........ 1057 Pasta Assistentes ................................................................................................................................................................................................................. 1050 Parâmetros ................................................................ 1046 Tool_Env ......................................................................................................................................................................................................................................................................................................... 1054 Exercícios .......................................................................................................................................................................................... 1069 Cross Product Master/Detail .................................................................................................................................................................................... 1059 Escapes de Relatório (Report Escapes) ................................................................................................................................................................................................................................................................................................................................ 1071 Developer com: O Módulo Library .......................................................................................................................................................................................................................... ............................................................................. 1047 Debug ............................................................................................................................................................................. 1063 Simple Matrix com Três Queries .................................................................................................................. 1052 Conceitos Iniciais .................................................................................................................................................................................................................................................................................... 1051 Developer com: Formatação Dinâmica .................................................................................................................................. 1046 Tool_Err .................................................................................................... SUMÁRIO Text_IO ............................................................................................................................................................................................................................................................................................. 1058 Pasta Definições de Runtime ........................................................... 1048 Introdução ............................................................................................................................... 1062 Conceitos ............. 1052 Formatação Condicional ........................................................................................................................... 1063 Simple Matrix com uma Query ............................................................................................................................................................ 1048 Coluna de Espaço Reservado (PlaceHolder) ............................................................................................................................................................................................................................................................................................................................................................. 1056 Pasta Acessar ....................................................................................................................................... 1047 Standard ................. 1066 Conclusão .............................................................. 1047 List ................................................................................................................................................................................ 1070 Matrix Break ......................... 1070 Layout ................................... 1067 Simple Matrix com Sumário .............................................................................................................................................................................. 1059 Janela de Form de Parâmetros (Parameter Form Window) ............................................................................ 1047 StProc ................................... 1071 CURSO COMPLETO00✦ XXXV Para uso pessoal.............................................. 1054 Valores .................................................................................................................................................................................................. 1055 Developer com: Características Gerais .......................................................................................... 1071 Exercícios ............................................................................................................ 1049 Variáveis de Pacote .......

. 1080 Labels Sumariados (Summary Labels) ........................................................................................................................................................................ 1080 Resumos (Summaries) ........... 1091 Desenvolvendo um Relatório Para Web ......................................................................................................................................................... 1090 Exercícios ....... 1076 Grupo Espaçamento ................... 1078 O Nó Labels/Cabeçalhos de Campo .............................................................. 1085 Gerando um Documento XML .................... 1075 Seção de Sobreposição (Override Section) ....................................................... 1075 As Seções do Corpo ..................................... 1075 Seção Default .................. 1088 Trigger .............................................................. 1087 Descrição ................................................................................................................................................................................................................................................................................................. 1082 Uso de Delimitadores ................................................................................................................................................... 1079 Montando um Gabarito (Template) ............................................................................................................................. 1091 Usando Chart Hyperlinks ................................................................................................................................................................................................................................................................................. 1079 Grupo Etiquetas / Campos ................................................................................................ 1084 Usando o Report Builder ........................................................... 1076 Propriedades da Seção (Section) ............................................................................. 1081 Usando o Gabarito Criado .............................. 1074 Descrição .............. 1081 Developer com: Distribuição.......................................................................... 1075 Layout ..................................................................................................................................................................................................................................... 1089 Acompanhando uma Depuração .................................................................................................................................. 1088 BreakPoint .......................................................................................................................................................................................................................................................................... 1078 Grupo Título do Grupo de Itens do Oracle Designer .......................................................................................................................................................... Saída Delimitada e XML ........ 1080 Labels / Cabeçalhos de Campos (Field Labels/Headings) ...................... 1080 Campos (Fields) ................................................................................................................................................................................................................ 1087 Marcando um Ponto de Interrupção ....................................................................................................................................................................................................... 1091 O Previsualizador da Web .................. 1074 Developer com: Gabaritos (Templates) ................................................................................................................................................................................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.......................... .................................. 1073 Exercícios ....................................................................................................................... 1075 PL/SQL no Gabarito ............................................................................................................................................................................................................................................................................................................................................................................ 1078 Grupo Estilo do Grupo de Itens do Oracle Designer ........................................................... 1077 Grupo Título ................................................. 1094 XXXVI ✦00CURSO COMPLETO Para uso pessoal...................................................................................................................................................................... 1072 Associando uma Biblioteca a uma Aplicação ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1074 Modelo de Dados ................................................................................................................................................. 1073 Considerações Sobre Armazenamento ................................................................................... 1082 Capacidade de Distribuição ............................................................................................................................................................................... 1072 Criando uma Biblioteca (Library) .... 1086 Developer com: Interpreter ......................................................................................................... 1084 Usando a Linha de Comando . 1078 O Nó Estruturas (Frames) ............................................................................................................................................................................................ 1085 Exercícios .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1078 Grupo Estilo ........................... 1087 A Janela de Depuração ............................................................................................................................................ 1089 Depurando com um Ponto de Interrupção .................................................................................................. 1081 Exercícios ............................................................. 1080 Seção Default ............ 1076 Grupo Layout ....................................................................................................................................................................................... 1074 A Estrutura de um Gabarito ........................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Introdução ..... 1090 Developer com: Html/PDF .................................. 1080 Estruturas (Frames) .............................................................................................................................

...................................... 1098 Usando o Report Builder a Partir do Form Builder .......................................................................................................................................................................................................................................................................................................................... ........................................................... 1168 Considerações Iniciais .... 1095 Navegação ....................................................................................................................................................................................................................................... 1170 Configurando as Variáveis de Ambiente ............................................................................................................................................................................................................................ 1175 Considerações Gerais .................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos......................................................................................................... 1178 Restrições Para Aplicações Forms na Web .................................................. 1182 CURSO COMPLETO00✦ XXXVII Para uso pessoal.............................................................................................................................................. 1102 CAPÍTULO 9 – O FORMS NA WEB ............................................ 1099 Suporte a Large Objects (Lobs) ................................................................................. 1100 Suporte a Objetos do Oracle8 .................................................................................................................... 1096 Exemplo Usando Nosso Script .......................................................................................................................... SUMÁRIO HTML Page Streaming ........................................................................................... 1166 O Ambiente de Três Camadas ......................... 1097 Outras Rotinas do Pacote SRW ........................................... 1169 Customizando o Produto .................................... 1182 Quanto aos Softwares Envolvidos .................................................................................................................................................................................................................................................................... 1181 O Fluxo de Processamento do Reports Services – não Web ... 1168 Developer em: Configurando o Forms Server ................................................................................................................................................ 1181 Quanto à Quantidade de Equipamentos ................................................................................................................................................. 1102 Resolução dos Exercícios ............................................................................................................................................................................................................................................................................................ 1180 Developer em: Estudando o Reports Server ...................................................................................................................................................................................................................................................................................................................... 1182 Quanto à Quantidade de Servidores ................................................... 1171 Customizando os Arquivos de Configuração ....................... 1096 Formato dos Arquivos Gerados ................................................................................................................................................................ 1098 Exercícios .................... 1176 Coletando Informações Sobre Desempenho ........................................... 1172 Considerações Referentes ao Desenho das Aplicações ........................................................................................................................................................................ 1166 O Ambiente de Duas Camadas ..................................................... 1180 Considerações Iniciais .......................................................................................................... 1168 Quanto à Configuração do Browser ................................................................ 1169 Quanto à Forma de Implementação ........................................................................................................................................................................................................................................... 1178 Localização de Ícones e Imagens ................................................................................................................................................................................. 1096 Exemplo Usando Script Default .................................................................................................................................................................................................................................................................. 1167 Os Componentes do Forms Services ............................................................................................................................................................................................ 1099 Acionando um Report a Partir do Form .............................. 1167 Os Componentes ............................................................. 1180 O Fluxo de Processamento do Reports Services – Web ............................................................................................................................................................................... 1178 Acionando Relatório Através do Forms .................... 1181 Quanto à Forma de Implementação ........................... 1170 Parâmetros Para o Serviço ............................................................................................................................ 1099 Exercícios .............................................................. 1166 Developer em: Estudando o Forms Server ................. 1168 Quanto à Conexão .................................................................................................................................................................................................................................................................... 1099 Developer com: Objetos do Banco de Dados ............ 1100 Exercícios ....................................................................................................................................................................... 1180 Quanto à Arquitetura ......................................................................................................................................................................................... 1096 Parâmetro ............... 1170 Configurando o Servidor Web ............... 1179 Exercícios ................... 1167 O Fluxo de Processamento do Forms Server ...... 1169 Quanto à Quantidade de Servidores .............................................................................. 1165 Developer em: O Ambiente de Três Camadas ......................................................................................................................... 1176 Considerações Sobre Aplicações Forms ..

............................................................ 1211 Nls_Timestamp_TZ_Format ..................................................................................................................... 1213 <Constraints> ........... ............... 1211 Current_Schema ................................................................................................................................................................................................................................................... 1209 Nls_Numeric_Characters ................................................... 1210 Nls_Comp .................................................................... 1226 Trigonométricas .................................................................... 1184 Configurando as Variáveis de Ambiente ................................................................................... 1212 Commit ...................................................................................................................................................................................................... 1193 PARTE III – REFERÊNCIA .................................................................................................................................... 1190 Exercícios ................................................................................ 1207 Nls_Territory .......................................... 1210 Nls_Sort ...................................................................................................................................................................................................................................... 1203 CAPÍTULO 10 – GUIA DE REFERÊNCIA DO SQL ....................................... 1209 Nls_Currency / Nls_Iso_Currency ................................. 1227 XXXVIII ✦00CURSO COMPLETO Para uso pessoal................................................................................................................................................................................................................................................................................. 1183 Configurando o Servidor Web ............................................................................................................. 1216 Create Sequence .............................................................................................................................................................................. 1193 Respostas dos Exercícios Propostos ........................................................................................... 1220 <Datatypes> ........................ 1212 Conclusões ............... 1183 Verificando a Instalação do Reports Server ............ 1210 Nls_Calendar ........................................................................................................... 1207 Flagger ..................................................................................................................... 1216 Create Type ................................................ 1209 Nls_Dual_Currency .......... 1217 Create View ..............................................................................................................................................................................................................................................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Developer em: Configurando o Reports Server ................................................................................................................................................... 1226 Alfanuméricas .......................................................................................................................... 1188 Acionando um Relatório via HTML ................. 1208 Nls_Date_Format ...................................................................................................................................... 1223 <Expressões> e <Lista de Expressões> ................................................................................................................................................................................................................ 1205 Alter Session .................... 1211 Nls_Length_Semantics ............................................................................................................... 1185 Gravando a Fila de Requisições no Banco de Dados .................. 1207 Sql_Trace ....... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos................................................................................................................................................. 1189 Usando o Queue Manager ............................................................................................................................ 1209 Nls_Date_Language ................................................................................................................................................................................................. 1187 Acionando um Relatório via URL ................................................................... 1213 <Condition> .............................................................................................................................................................................................................................................................................................................................................................. 1224 Funções Escalares ................................................................................................................................................................................................................................................................................... 1206 Commit in Procedure . 1211 Nls_Timestamp_Format ...................... 1211 Time_Zone ............................. 1211 Constraints .......................................................................................................................................................................................................................................................................................................................... 1188 Acionando um Relatório com um Arquivo de Mapeamento .............................................................................................................................................................. 1186 Acionando um Relatório ....................................................................... 1184 Configurando o Oracle Reports Services .................................................................................................................................................................................................................................................................................................................................................................... 1206 Close Database Link ........................................................................................................ 1207 Nls_Language .......................... 1221 Delete ........................................................................................................................................................................................................................................................................................................................................... 1225 Numéricas Simples .......................................................................................................................................................................................................................................................................................................................................................................... 1211 Nls_Nchar_Conv_Excp ........................................... 1214 Create Directory ................................................................................................................................ 1182 Customizando o Produto .....................................................................................................................................................

.............................................................................................. 1234 Grant <privilégios de sistema> ........................................................................................................................................................................................................................ 1235 Insert ........... 1236 Merge .............. 1257 Copy .......................................................................................... 1258 Del ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1248 Abrindo uma Sessão ........... 1258 Describe .................................................... 1238 Bulk Collect ......................................... 1253 Attribute ........................................... 1255 Compute .............................................................................................................. 1238 Revoke <privilégios de sistema> ......................................................................................................................................................................................................................................................................................................................................................................................................... 1228 Conversão ........................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.......................................................................................................................................................................... 1237 <Returning> ............................................... 1259 Edit ....................................................................................................................sql e Glogin.................. 1234 Grant .................................. ................................................................................................................................................................................................................................................................................................................................................................................................ 1239 Rollback .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1252 / .... 1248 O SQL Buffer .................................................................................................................................................................... 1229 Outras .... 1249 Os Comandos do SQL*Plus ............................................................ 1258 Define ............................................................................................................................................................................................................................................... 1250 Os Arquivos Login................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1254 Clear ......................................................................................................................................................................... 1258 Disconnect ....................................... 1249 Digitando no SQL*Plus .................sql ................................ 1238 Revoke ............................................ 1256 Connect/Disconnect .............................. 1240 Set Constraint ....................................................................................................... 1252 @ e @@ ................................................................................................................................................................................................. 1234 Grant Para os Objetos ............................................................... SUMÁRIO Alfanuméricas que Retornam Valores Numéricos ............ 1252 Accept ..................................................................................................................... 1230 Funções de Grupo ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1242 <subquery> ............................................................................................................. 1245 CAPÍTULO 11 – GUIA DE REFERÊNCIA DO SQL*PLUS ................................................................................. 1252 Comandos ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1252 Append ............................................................................................................................................ 1255 Column .................................................................................................................................................. 1240 Savepoint .............................. 1253 BTitle ........ 1231 Funções Analíticas ................................................................................. 1254 Change .................................. 1249 Acionando o SQL*Plus em Batch ........................................ 1253 Archive Log ................................................................................................................................ 1233 Funções Relacionadas a Objetos .......................... 1238 Revoke Para os <objetos> ..................................................................................... 1247 Sobre o SQL*Plus ............................. 1241 Set Transaction ..................... 1227 Datas ................................................................................. 1240 Select ........................................................................................................................................................................................................................................................................................... 1241 Set Role ............................................................... 1243 Update ......................................................................................................................................................................................................... 1253 Break .................................................................................................................................................................... 1259 CURSO COMPLETO00✦ XXXIX Para uso pessoal.............................................................................................................................................................................................

.......................................................................................................................................................................................................................................... 1262 Pause ............................................ 1279 Qualificação ................................................................................................................................................................................................................................................................................................................................. 1277 Declarações ....................................................................................................................................................................................................................................................................................................................... 1278 Variáveis e Constantes ....................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1279 Case .................................................... 1275 Escalares ........................................................................................................................ Execute....................................................................................................... 1275 Tipos de Dados .......................................................................................................... 1265 Show .... 1279 Cursor ................................................................................................................................................................ 1274 Palavras Reservadas ................................................... 1264 Set .................... 1274 Identificadores ........................ 1278 %Type ................................................................. 1280 XL ✦00CURSO COMPLETO Para uso pessoal............ 1260 Exit/Quit ................ 1262 Input ........... 1279 Escopo e Visibilidade ............................................................ 1263 Remark ................................... 1261 Help ............................................................................... 1270 Timing ....................................................... 1272 CAPÍTULO 12 – GUIA DE REFERÊNCIA DE PL/SQL .................... 1268 Shutdown ........................................................................ 1277 Reference .............................................................. 1278 Atribuição .......................................................................................................................... 1274 Fim de Linha ................ 1279 Comandos ................ 1263 Quit ............................. 1271 Ttitle/Btitle ..................................... 1264 Save .................................................................................................................................................. 1263 Run .............................................................................................................. 1260 Get ................................................................................................ 1263 Print ............................................................. 1262 List ................................... 1261 Host ...................................... Host e Remark ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1263 RepHeader/RepFooter ................................................................ 1273 Sobre a PL/SQL .................................................................................................................................................................................................. 1263 Prompt ........................................................................................................... 1274 Estrutura .................................................................................................................................................................... 1274 Comentários ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1272 Whenever Oserror/Sqlerror ......................................................................................................................................................... 1275 Lobs ......................................................................................................................................................... 1274 Literais ................................................................................................................................................................................................................................................................... 1271 Undefine ............................................................................................................................................................................................................................................................................................................................................... . 1263 Recover .................................................................................................................................................................................................................................................................... 1262 Password................................................................................................... 1279 Restrições ................................................................................................................................................................................................................................ 1270 Startup ................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos............................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Execute .............................................................................................................................................. 1277 Conversão Implícita ....................................................................................... 1270 Store ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1277 Compostos .................................................................................................................................................................................................................................................................................. 1271 Variable ................................. 1269 Start / @ / @@ ............................................. 1269 Spool ...............................................................................................................................

.......... 1295 Cláusula AuthID ............................................................................................................................................................................ 1280 Atributo %NotFound ................... 1290 Nested Tables ................................................................................................................................................................................................................................................................................................................................................................................................. 1288 IF .......................................................................................................................................................................................................................................... 1289 Null .................................................... 1284 Exception .................................................................................................................................................................................................................... 1280 Atributo %Bulk_Rowcount . 1287 Execute Immediate ...................................................................... 1296 Cláusula Pipelined ................................................................................................................................................................................................... 1293 Parâmetros ....................................................................................................... 1280 Atributo %Found ................................. 1280 Atributo %Isopen .............................................................................................................................................................. 1287 While .............................................................................................................. 1283 Update Para Cursor ........................................................................................................................................ 1290 Varrays ....... 1284 Raise ........................ 1296 CURSO COMPLETO00✦ XLI Para uso pessoal................ 1287 Funções ......................................... 1295 Declarações Forward ................................................................................................................................................................................................................................ 1287 Demais Comandos .................................................................................................................. 1283 Open Cursor ................................................................................. 1280 Atributo %Rowcount ............................................................................................................................... SUMÁRIO %Rowtype .............. 1286 For Loop ............................................................................................................................................................................................................ 1286 ForAll ...................................................................................................................................................................................................... 1285 Iterações .................................................................................... 1295 Cláusula Deterministic ........................................................ 1281 Cursor Loop ...................................................................................................................................................................................................................................... 1284 Pragma Exception_Init ................ 1289 Coleções e Registros ........................................................................................................................... 1295 Table Functions ......................................................................................................................................................................................................................... 1292 Subprogramas e Pacotes ............................... 1287 Loop .......................... 1283 Tratamento de Erro ................................................................................................................................................................................................................................................................................................................................................................ 1281 Declaração de Cursor ................................................................................................................................................................................................................................................................................... 1292 Exceptions Para Coleções ................................................................................................................ 1296 Overloading ............................................................................................................................................................................................................................. 1286 Exit ......................... ............................................................................................................................................................................................................................................................................................................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................ 1292 Registros ..................................................................................................................................................................................................................................................................................................................................... 1282 Delete Para Cursor ...................................................................................................................................................................................................................................................................................................................................... 1285 When Others ........................................................................................................................................ 1291 Index-By Tables .................................................................................... 1296 Cláusula Parallel ............................................................................................. 1294 Passagem dos Parâmetros ................................................................................................................................................................................................. 1285 Raise_Application_Error ................................................................................................................................................................................................................................... 1282 Fetch Cursor ........................................................................................................................................................................................................................ 1293 Subprogramas ..... 1281 Close Cursor ...... 1280 Atributo %Bulk_Exceptions .............................................................................. 1295 Cláusula As Language ........................................... 1296 Cláusula Agregate ................................................................................................................ 1291 Manipulando Coleções ............................................................... 1286 GoTo ............................................................................ 1289 Select Into ..........................................................................................................................................................................................................................................................................................................................................

...................... 1298 O Pacote Dbms_Flashback ................................................................. 1316 Peso da Fonte (Font Weight) ...................................................................................................................................................................................................................................................................................................................................................... 1316 Direção (Direction) ....................................................................... 1314 Nome (Name) ... 1315 Botão de Alerta Default (Default Alert Button) ...............................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Stored Subprogram ......................................................................................................................................................................................... 1316 Nome da Fonte (Font Name) ........................................................................................................................................................................................................................................................................ 1296 Call .................................................................................. 1315 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) ....................................................................... 1302 O Pacote Dbms_Pipe .............................................................................................................................................................................................................................................................. 1309 Variáveis Cursor ........................................................................................... 1314 Informações Sobre a Divisão em Subclasses (Subclass Information) ................................................................................................................................................ 1299 O Pacote Dbms_Output ...................................... 1309 Manipulando Variáveis Cursor ......................................................................................................................................................... 1317 Geral (General) ............. 1296 Packages .......................................................................................... 1315 Padrão de Preenchimento (Fill Pattern) ............................................ .......................................................... 1314 Comentários (Comments) ................................ 1314 Etiqueta do Botão 1 (Button 1 Label) ......................................................... 1317 XLII ✦00CURSO COMPLETO Para uso pessoal........................................ 1317 Nome (Name) ........................................................... 1315 Atributos Visuais (Visual Attributes) ....................................................................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.. 1315 Grupo de Atributos Visuais (Visual Attribute Group) .............................. 1316 Estilo da Fonte (Font Style) ........................................................................................................ 1303 O Pacote Dbms_Random ....................................................................................................................................... 1297 Especificação .................................................................................................. 1314 Funcional (Functional) ............ 1309 A Cláusula Bulk Collect ............................................................................ 1304 O Pacote Dbms_Rowid ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1315 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) ....... 1297 Corpo do Pacote ........... 1315 Etiqueta do Botão 3 (Button 3 Label) ................... 1311 Eventos dos Triggers .................................................................................................................................................................................................................................................................................................................................................................................. 1317 Tipo de Atributo Visual (Visual Attribute Type) ............................................................................ 1314 Título (Title) ........................................................ 1315 Branco Sobre Preto (White on Black) ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1314 Etiqueta do Botão 2 (Button 2 Label) .................................................................................... 1310 Triggers ................... 1314 Estilo de Alerta (Alert Style) .............................................................. 1310 Open-For Dinâmico ......................... 1314 Mensagem (Message) ......................... 1298 O Pacote Dbms_Lob ................................................................... 1316 Espaçamento da Fonte (Font Spacing) ....................................................................................................................... 1315 Cor (Color) ............................. 1313 Alerta (Alert) ................................................................................................................... 1315 Fonte (Font) ..................................................................... 1316 Tamanho da Fonte (Font Size) .................................................................................................................................................................................. 1316 Atributo Visual (Visual Attribute) ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1307 PL/SQL Wrapper .................. 1314 Geral (General) ............................................................................ 1316 Internacional (International) .............. 1306 O Pacote Utl_File ...................................................................................................................................... 1312 CAPÍTULO 13 – PROPRIEDADES DO FORMS .............................................................................

.................................................................................................................................................................................................................................... 1319 Geral (General) ............................................................................................... 1323 Inserção Permitida (Insert Allowed) ........................................................................................................... 1319 Navegação (Navigation) ............................ 1317 Atributos Visuais (Visual Attribute) .................................................................... 1321 Consulta Permitida (Query Allowed) ..................................................... 1322 Apelido (Alias) .................................................................................................. 1319 Nome (Name) ................................. 1323 Atualização Permitida (Update Allowed) ...................................................................................... 1320 Número de Registros Armazenados no Buffer (Number of Records Buffered) ................................................................................................................................................................................................................... 1317 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) ...................... 1320 Orientação do Registro (Record Orientation) ............................... 1318 Peso da Fonte (Font Weight) ....................................................... 1319 Comentários (Comments) ........................................................................................................................................................................................................................................................................................................................................... 1320 Registros (Records) .............. 1318 Nome da Fonte (Font Name) ................................................................................................ 1321 Registro Simples (Single Record) .................................................................................... 1321 Impor Chave Primária (Enforce Primary Key) ....... 1320 Número de Registros Exibidos (Number of Records Displayed) ...................................................................................................................................................................... 1321 Tipo de Origem de Dados de Consulta (Query Data Source Type) ........................................................................................ 1322 Cláusula ORDER BY (ORDER BY Clause) ......................................................................... 1323 Modo de Bloqueio (Locking Mode) ........................................................................................................................................................................... 1317 Branco Sobre Preto (White on Black) ...... 1322 Dica do Otimizador (Optimizer Hint) .................................................................................................................................................. 1318 Padrão de Preenchimento (Fill Pattern) ...................................................................................................... 1318 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) .................................................................................................................................................................. 1322 Incluir Item REF (Include REF Item) ................................. 1324 Impor Segurança da Coluna (Enforce Column Security) ... 1323 Deleção Permitida (Delete Allowed) .......................................................................................................... 1322 Argumentos de Origem dos Dados de Consulta (Query Data Source Arguments) ................................................... 1323 Atualizar Somente Colunas Alteradas (Update Changed Columns Only) ........................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................................................... 1324 CURSO COMPLETO00✦ XLIII Para uso pessoal................................................................................................................................... 1318 Espaçamento da Fonte (Font Spacing) ................................................................................................................................................................................................. 1321 Nome de Origem dos Dados de Consulta (Query Data Source Name) ......................................................... 1319 Informações Sobre a Divisão em Subclasses (Subclass Information) .................................................. 1320 Grupo de Atributos Visuais do Registro Atual (Current Record Visual Attribute Group) .. 1324 Tempo Máximo Para Consulta (Maximum Query Time) .................................. 1318 Tamanho da Fonte (Font Size) .................................................... 1319 Próximo Bloco de Dados de Navegação (Next Navigation Data Block) ................................................................................................................................................................................................................................................................................................................................................................... 1322 Cláusula WHERE (WHERE Clause) ................................................................................................................................................................................................................ 1320 Consultar Todos os Registros (Query All Records) ............... 1323 Modo de Tecla (Key Mode) ..................................................................... 1318 Fonte (Font) ................................ 1320 Tamanho do Array de Consulta (Query Array Size) ................................................... 1324 Máximo de Registros Extraídos (Maximum Records Fetched) ....................................................................... 1317 Comentários (Comments) ........................................................ 1318 Estilo da Fonte (Font Style) ............................................. 1321 Banco de Dados (Database) ........................................................................................................................................................................ 1321 Colunas de Origem de Dados de Consulta (Query Data Source Columns) ........................... 1318 Cor (Color) ............................................... 1321 Bloco de Dados do Banco de Dados (Database Data Block) .......................................................................................... 1318 Bloco de Dados (Data Block) .................................... 1319 Bloco de Dados Anterior de Navegação (Previous Navigation Data Block) ................................................................................................................................................ ... 1319 Estilo de Navegação (Navigation Style) .................................... SUMÁRIO Informações Sobre a Divisão em Subclasses (Subclass Information) ..........................................................................................................................

............................................................................................................................................................................................... 1329 Geral (General) ................................................................................................................................................................................................................. 1329 Direção (Direction) ............................................... 1324 Nome de Destino dos Dados de DML (DML Data Target Name) ............... 1326 Tamanho do Array de DML (DML Array Size) .......................................................................... 1328 Padrão de Preenchimento (Fill Pattern) ............................ 1326 Valor de Retorno de DML (DML Returning Value) ................................................. 1326 Bloquear Argumentos de Procedimento (Lock Procedure Arguments) ................. 1329 Internacional (International) ... 1328 Grupo de Atributos Visuais (Visual Attribute Group) .............................................................................. 1325 Bloquear Nome do Procedimento (Lock Procedure Name) ...... 1330 Tecla de Acesso (Access Key) ................................................................................................................................................................................................................................................................................... 1327 Orientação da Barra de Rolagem (Scroll Bar Orientation) ..................................................................................................... 1327 Página Tab da Barra de Rolagem (Scroll Bar Tab Page) ......................................................................................................................................... 1325 Atualizar Argumentos de Procedimento (Update Procedure Arguments) ........................................... 1325 Deletar Colunas de Conjuntos de Resultados de Procedimento (Delete Procedure Result Set Columns) .......... 1329 Comentários (Comments) ................................................................................................................................................................................ 1330 Etiqueta (Label) .................... 1330 Distância Entre Registros (Distance Between Records) ....................................................................................................................................................................................................................................................................................................................................................................................................................... 1330 XLIV ✦00CURSO COMPLETO Para uso pessoal........................................................................................................................................................................................................................ 1325 Inserir Nome do Procedimento (Insert Procedure Name) ..................... 1328 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) ........... 1329 Informações Sobre a Divisão em Subclasses (Subclass Information) ........................................... 1325 Inserir Argumentos de Procedimento (Insert Procedure Arguments) ...................................................... 1330 Funcional (Functional) ............. 1326 Pré-calcular Sumários (Precompute Summaries) ......................................................................................... 1327 Canvas da Barra de Rolagem (Scroll Bar Canvas) .............................................................. 1330 Ativado (Enabled) .......................................... 1328 Modo Caracter (Character Mode) ................................................................................................................................................ 1327 Posição X da Barra de Rolagem (Scroll Bar X Position) ........................................ 1326 Bloquear Colunas de Conjuntos de Resultados de Procedimento (Lock Procedure Result Set Columns) ................................... 1328 Branco Sobre Preto (White on Black) ................................................... 1325 Inserir Colunas de Conjuntos de Resultados de Procedimento (Insert Procedure Result Set Columns) ................................................................................................. 1325 Deletar Nome do Procedimento (Delete Procedure Name) ....................................................................... 1329 Botão de Opção (Radio Button) ......................... 1328 Listado no Menu Bloco de Dados (Listed in Data Block Menu) ............................. 1326 Barra de Rolagem (Scrollbar) .................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos................................ 1327 Mostrar Barra de Rolagem (Show Scroll Bar) ...................................................... 1324 Tipo de Destino dos Dados de DML (DML Data Target Type) ........................................ 1327 Tamanho da Barra de Rolagem (Scroll Bar Lenght) ............................................ 1327 Posição Y da Barra de Rolagem (Scroll Bar Y Position) ........ 1328 Cor (Color) ............................................................................................................................... 1328 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) ...................................................................................... 1327 Direção Inversa (Reverse Direction) ................................................................ 1329 Nome (Name) ............................ .................. 1325 Deletar Argumentos de Procedimento (Delete Procedure Arguments) ................. 1330 Registros (Records) ............................. 1330 Valor do Botão de Opção (Radio Button Value) ................................................................. 1327 Largura da Barra de Rolagem (Scroll Bar Width) ................................................................................................................................................................................................................................................................................................................... 1325 Atualizar Colunas de Conjuntos de Resultados de Procedimento (Update Procedure Result Set Columns) .................................................. 1328 Descrição do Bloco de Dados (Data Block Description) ...............................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Banco de Dados Avançado (Advanced Database) ...................................................................................................... 1325 Atualizar Nome do Procedimento (Update Procedure Name) ............................................................................................................................................................................................................................................................................... 1327 Atributos Visuais (Visual Attribute) ...............................................................................................................

.......................................... 1334 Canvas (Canvas) .... 1333 Deslocamento de Conexão do Prompt (Prompt Attachment Offset) ................................. 1332 Peso da Fonte (Font Weight) ........................................................................................................................................................................................................................................ 1335 Visualizador (ViewPort) .......................................................................... 1332 Prompt (Prompt) .................................................................................................................................................................................................................................... 1336 Visível (Visible) ............................................................................................................ 1334 Cor do Prompt (Prompt Color) ..................................................... 1335 Funcional (Functional) ................................................................................................................................................... 1332 Espaçamento da Fonte (Font Spacing) ........................................... 1330 Visível (Visible) .................................................................................................................................................................................................. 1331 Grupo de Atributos Visuais (Visual Attribute Group) .............................................................................................................................................................................................. 1331 Atributos Visuais (Visual Attribute) ...................................................................................... 1332 Estilo da Fonte (Font Style) ............................................................................................................................................................... 1331 Posição Y (Y Position) ......................................................................................... 1331 Grupo de Atributos Visuais do Prompt (Prompt Visual Attribute Group) ........................................................................................................................................................................................................................................................................................................................... 1334 Cor de Fundo do Prompt (Prompt Foreground Color) ................................................................................... 1333 Ordem de Leitura do Prompt (Prompt Reading Order) ........................ 1331 Branco Sobre Preto (White on Black) ........................................................................................................................ 1334 Tipo de Canvas (Canvas Type) ........................................................................................ 1331 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) ............................................... 1332 Cor (Color) ........ 1335 Posição Y do Visor (ViewPort Y Position) ................................................................................................................................................................................................................................................................. 1331 Altura (Height) ........................................................... 1333 Prompt (Prompt) .................. 1335 Aumentar na Entrada (Raise on Entry) ............................................................................................. 1335 Comentários (Comments) ..... ................................... 1332 Padrão de Preenchimento (Fill Pattern) ............................................................................................................................................................... 1335 Menu Pop-up (Popup Menu) ........................................................................................................................................................................................................... 1335 Físico (Physical) .................................................................................... 1333 Justificação do Prompt (Prompt Justification) ... 1334 Informações Sobre a Divisão em Subclasses (Subclass Information) ................................................................................................................................................................................ 1335 Largura do Visor (ViewPort Width) ................................................................................................................................................................................................................................... 1332 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) .................................... 1332 Tamanho da Fonte (Font Size) ........................................................................................................................ SUMÁRIO Físico (Physical) ................................................................................................................ 1334 Nome da Fonte do Prompt (Prompt Font Name) ................................................................................................................. 1335 Posição X do Visor (ViewPort X Position) ................................................................................................................................................. 1331 Largura (Width) ..................................................................... 1333 Deslocamento do Alinhamento do Prompt (Prompt Alignment Offset) ......................................................................................................... 1334 Nome (Name) ............................... 1335 Altura do Visor (ViewPort Height) ....................................................................................................................................... 1336 CURSO COMPLETO00✦ XLV Para uso pessoal........................ 1332 Nome da Fonte (Font Name) .............................................................. 1333 Limite de Conexão do Prompt (Prompt Attachment Edge) ................................................................................................................................... 1334 Fonte do Prompt (Prompt Font) ........................ 1334 Espaçamento da Fonte do Prompt (Prompt Font Spacing) ........................................................... 1334 Geral (General) ................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos......................... 1333 Alinhamento do Prompt (Prompt Alignment) .. 1334 Estilo da Fonte do Prompt (Prompt Font Style) ................ 1334 Peso da Fonte do Prompt (Prompt Font Weight) ..................................................................................................................................................................................................................................................................................................... 1334 Tamanho da Fonte do Prompt (Prompt Font Size) ............................................................................. 1332 Fonte (Font) ................................................................................................................................................................................................ 1333 Estilo de Exibição do Prompt (Prompt Display Style) ................... 1330 Posição X (X Position) ................................

.................................................................................................................................................................................................................... 1341 Cor (Color) .................................................................... 1340 Atributos Visuais (Visual Attribute) ............ 1341 Fonte (Font) ................................................................................................................................... 1339 Título (Title) ........................................... 1339 Geral (General) ...................................................................................................................................................................................................................... 1337 Atributos Visuais (Visual Attribute) ................................................................................. 1340 Largura (Width) ............................................................................................................................................................................................................................................................................................................................... 1341 Peso da Fonte (Font Weight) ............ 1338 Estilo da Fonte (Font Style) ................................................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..................................................................................................................................................................................... 1336 Altura (Height) ................................................. 1336 Estilo dos Cantos (Corner Style) ....................................................................................... 1341 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) ................................................................. 1336 Largura (Width) ......................................................................................................................... 1336 Estilo da Largura (Width Style) ......................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1341 XLVI ✦00CURSO COMPLETO Para uso pessoal....................................................................... 1339 Físico (Physical) ...................................... 1337 Fonte (Font) ....................................................... 1339 Funcional (Functional) ...................... 1341 Padrão de Preenchimento (Fill Pattern) .................................................................................................................................................................................... 1340 Altura (Height) ........................................... 1338 Tamanho da Fonte (Font Size) ............................................................................................ 1337 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) ........................................................ 1336 Bevel (Bevel) .................................................................................................................................................................................................................................................................................. 1338 Internacional (International) .................. ........................................................................................................... 1338 Espaçamento da Fonte (Font Spacing) ............................................................................................................................... 1339 Título de Base (Bottom Title) .................................................................................................................................................................... 1338 Peso da Fonte (Font Weight) .......................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Janela (Window) ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1340 Posição Y (Y Position) .............................. 1339 Comentários (Comments) ...................................................................................................... 1340 Posição X (X Position) ................................................................................................................. 1336 Mostrar Barra de Rolagem Horizontal (Show Horizontal Scroll Bar) ................................................................ 1338 Direção (Direction) ... 1338 Editor (Editor) ......................................................................................................................... 1339 Estilo de Sobreposição (Wrap Style) ................................................ 1340 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) .............................................. 1336 Posição X do Visor no Canvas (ViewPort X Position on Canvas) ...................................................................................... 1338 Nome da Fonte (Font Name) ........... 1337 Padrão de Preenchimento (Fill Pattern) ................................................................................................................................................. 1337 Estilo Ativo (Active Style) .. 1339 Informações Sobre a Divisão em Subclasses (Subclass Information) .............................. 1341 Nome da Fonte (Font Name) ........................... 1340 Grupo de Atributos Visuais (Visual Attribute Group) ................................................ 1337 Cor (Color) .......... 1341 Tamanho da Fonte (Font Size) ....................................................................................................................................................................................................................................... 1337 Branco Sobre Preto (White on Black) ................................................................................................................................................................................................................... 1336 Posição Y do Visor no Canvas (Viewport Y Position on Canvas) . 1339 Nome (Name) .. 1337 Limite de Conexão de Tab (Tab Attachment Edge) .......................................................................................................................................................................................... 1336 Mostrar Barra de Rolagem Vertical (Show Vertical Scroll Bar) ........................................................................ 1337 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) .............................................. 1340 Branco Sobre Preto (White on Black) .............................................................. 1337 Grupo de Atributos Visuais (Visual Attribute Group) ......................................................................................................................................................... 1340 Mostrar Barra de Rolagem Vertical (Show Vertical Scroll Bar) .

...... 1348 CURSO COMPLETO00✦ XLVII Para uso pessoal............................................................................... 1342 Geral (General) ............................................................... 1342 Estilo de Gatilho (Trigger Style) ............................................................................................................................................................................................. 1342 Comentários (Comments) ................................................................................................ 1345 Ativado (Enabled) ............. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................................ 1345 Tecla de Acesso (Access Key) .................................................................................................................................................................................................................................................................. 1346 Justificação (Justification) ............................................... 1343 Exibição na ‘Ajuda do Teclado’ (Display in ‘Keyboard Help’) ................................................... 1347 Profundidade da Imagem (Image Depth) .................................................................................................................................................................................................. 1347 Ativado (Enabled) ................................................................. 1343 Funcional (Functional) ............................................... 1344 Especificações da Coluna (Column Specifications) ................ 1347 Qualidade de Compactação (Compression Quality) ........................................................................................................................................................................................................................................................... 1348 Mostrar Paleta (Show Palette) .......................................................................................................................................................................... 1343 Grupo de Registros (Record Group) ..................................... 1344 Item (Item) ............................................................................................................................. 1343 Comentários (Comments) .......................................................................................................................................................................................................................... 1342 Hierarquia de Execução (Execution Hierarchy) .......................................................................................................................................................................................................... 1347 Funcional (Functional) – Imagem (Image) ........................................................................... 1342 Disparar no Modo Entrar Consulta (Fire in Enter-Query Mode) ..................................................................................................... 1346 Funcional (Functional) – Item de Exibição (Display Item) ................................................................................................... 1341 Gatilho (Trigger) ............................................ 1343 Geral (General) ...................................... 1342 Ajuda (Help) ............................................................................................................................................................................................................................................... 1344 Informações Sobre a Divisão em Subclasses (Subclass Information) . 1345 Funcional (Functional) – Item do Gráfico (Chart Item) ................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1345 Menu Pop-up (Popup Menu) ......... SUMÁRIO Estilo da Fonte (Font Style) .......................................................................................... 1346 Mapeamento de Outros Valores da Caixa de Seleção (Check Box Mapping of Other Values) ............................................................................................ 1342 Texto do Gatilho (Trigger Text) ...................................................................................................... 1344 Nome (Name) ..................................................................................... 1343 Nome (Name) ............................ 1346 Menu Pop-up (Popup Menu) ........................................................... 1344 Comentários (Comments) ................................................................................................................................................................................................................................................................................................... 1345 Etiqueta (Label) ............................................................. 1345 Classe de Implementação (Implementation Class) .................... 1342 Nome (Name) ............................................... 1344 Geral (General) .......................................................................................................................... 1346 Valor Quando Assinalado (Value When Checked) ........................................................................... 1342 Informações Sobre a Divisão em Subclasses (Subclass Information) .............................................................................................................. 1343 Texto da ‘Ajuda do Teclado’ (‘Keyboard Help’ Text) .................................................................. 1343 Informações Sobre a Divisão em Subclasses (Subclass Information) ................................ 1347 Qualidade de Exibição (Display Quality) ........................................................................................................................................ 1341 Espaçamento da Fonte (Font Spacing) ................................................................................................ 1344 Tipo de Grupo de Registros (Record Group Type) ................... 1344 Tamanho de Extração do Grupo de Registros (Record Group Fetch Size) .... 1345 Funcional (Functional) – Caixa de Seleção (CheckBox) ............................................................................................................................................................................................................. 1347 Formato da Imagem (Image Format) ........................................... 1344 Consulta do Grupo de Registros (Record Group Query) ...................................... ....................................................... 1346 Menu Pop-up (Popup Menu) ......................................................................................................................................................................... 1342 Funcional (Functional) ............................... 1344 Tipo de Item (Item Type) ........................................... 1346 Valor Quando Não-Verificado (Value When Unchecked) .................. 1345 Tópico do Livro de Ajuda (Help Book Topic) ......................................................................................................................................

...................... 1354 Mapeamento de Outros Valores (Mapping of Other Values) ...................... 1351 Ativação Local de OLE (OLE In-place Activation) ......................................................................................... 1351 Tipos de Inquilinos de OLE (OLE Tenant Types) ......................................................................................... 1352 Menu Pop-up (Popup Menu) ............................................................................................................................................................................................................. 1352 Aspecto Inquilino de OLE (OLE Tenant Aspect) ............................................................... .......................................... 1351 Funcional (Functional) – Container OLE (OLE Container) ........................................... 1348 Menu Pop-up (Popup Menu) ........................................................................................................................................................................................................................................................................................................................................................................................................... 1350 Menu Pop-up (Popup Menu) ........................................................................... 1355 Menu Pop-up (Popup Menu) ........ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos............................................................................... 1352 Itens de Menu Pop-up de OLE (OLE Popup Menu Items) .................................................................... 1354 Menu Pop-up (Popup Menu) ........................................................................................... 1350 Funcional (Functional) – ActiveX Control (ActiveX Control) ............................................................................................................................................................................................................................................................................... 1351 Suporte Interno-Externo de OLE (OLE Inside-Out Support) ..................................................................................................................................................... 1354 Menu Pop-up (Popup Menu) ................................................................................. 1355 Qualidade do Som (Sound Quality) .................................................................................... 1352 Estilo de Redimensionamento de OLE (OLE Resize Style) .............................................................................................. 1353 Botão Default (Default Button) ...................................................................................................................................................................................................................................................... 1348 Ativado (Enabled) ........... 1351 Classe OLE (OLE Class) ....................................................................................................................... 1348 Funcional (Functional) – Item da Lista (List Item) ....................................................................... 1352 Funcional (Functional) – Tecla (Push Button) .............................................................. 1349 Mapeamento de Outros Valores (Mapping of Other Values) .................................................................................................................................................................................................................................................................... 1350 Sobre o Controle (About Control) ..................................................................... 1355 Funcional (Functional) – Item de Texto (Text Item) .............................................................. 1349 Classe de Implementação (Implementation Class) .................................................................................................. 1352 Mostrar Tipo Inquilino de OLE (Show OLE Tenant Types) ...................................................... 1354 Ativado (Enabled) .... 1349 Restrição a Maiúsculas / Minúsculas (Case Restriction) ........................................................................................ 1352 Mostrar Menu Pop-up de OLE (Show OLE Popup Menu) .............................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Estilo de Dimensionamento (Sizing Style) .... 1353 Tecla de Acesso (Access Key) ... 1350 Ativado (Enabled) ............................................................................................................................................................. 1348 Elementos da Lista (Elements in List) ......................................................................................................................................... 1353 Nome do Arquivo de Ícones (Icon Filename) .................................................................................... 1354 Formato do Som (Sound Format) ................................................................................................ 1355 Canais de Áudio (Audio Channels) ............................................................................................................................................................................................................................................................................................................................................... 1354 Classe de Implementação (Implementation Class) .......................................................................................................................................................................................... 1355 Compactar (Compress) ................................................................................................................ 1354 Funcional (Functional) – Grupo de Opções (Radio Group) ........... 1350 Ajuda de Controle (Control Help) .............................................................. 1355 Ativado (Enabled) .............................. 1355 XLVIII ✦00CURSO COMPLETO Para uso pessoal............................................. 1353 Ativado (Enabled) ....................................................................... 1354 Tecla de Acesso (Access Key) ....................................... 1349 Menu Pop-up (Popup Menu) .............. 1353 Classe de Implementação (Implementation Class) ................................................................................................................. 1353 Etiqueta (Label) ................................................................................ 1351 Estilo de Ativação de OLE (OLE Activation Style) ................................................................................ 1353 Icônico (Iconic) ........................................................... 1354 Funcional (Functional) – Som (Sound) ..................................... 1351 Ativado (Enabled) ............................................................................................................. 1349 Estilo da Lista (List Style) ................................................................................................................................................................................ 1350 Classe OLE (OLE Class) ........................................................... 1350 Propriedades de Controle (Control Properties) ..............................................................................................................................................................................................

................. 1359 Consulta de Dados (Data Query) ............................................................................................................................................................................ .................................................................................................................................... 1358 Menu Pop-up (Popup Menu) ................................................................................................................................................................................................................................................................................ 1356 Estilo de Sobreposição (Wrap Style) ................................................................................................................................... 1358 Funcional (Functional) – Árvore Hierárquica (Hierarchical Tree) . 1359 Integração do Oracle Developer (Oracle Developer Integration) ................................................................... 1356 Várias Linhas (Multi-Line) .................................... 1360 Item Anterior de Navegação (Previous Navigation Item) ............... 1360 Nome da Consulta (Query Name) ................................................................................................................................. 1356 Classe de Implementação (Implementation Class) ................................................................................................................................................ 1360 Atualizar no Commit (Update on Commit) ............ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................................................................................................................................................... 1357 Etiqueta (Label) .... 1359 Multisseleção (Multi-Selection) .................. 1359 Menu Pop-up (Popup Menu) ................................................................................................................................................................................................... 1356 Restrição a Maiúsculas / Minúsculas (Case Restriction) ... 1361 Tamanho Fixo (Fixed Length) ........................................................................ 1360 Eixo Y da Origem de Dados (Data Source Y Axis) ............................................. 1360 Navegável com Teclado (Keyboard Navigable) ................................................................................................................................................ SUMÁRIO Justificação (Justification) .................................................................. 1361 Tamanho Máximo (Maximum Length) ............................................................................................................................................................... 1358 Valor do Controle VBX (VBX Control Value) ..................................................................................................................................................................................................................................................... 1358 Permitir Ramificações Vazias (Allow Empty Branches) ......................... 1357 Salto Automático (Automatic Skip) ........................................................................ 1359 Classe de Implementação (Implementation Class) ........................................................................ 1357 Menu Pop-up (Popup Menu) ......................................................................................................................................................................... 1356 Ocultar Dados (Conceal Data) .................................................................... 1358 Icônico (Iconic) ................................. 1361 Dados (Data) ................................................................................................................... 1358 Nome do Arquivo de Ícones (Icon Filename) ......................................... 1358 Nome do Controle VBX (VBX Control Name) ............. 1359 Menu Pop-up (Popup Menu) ............................................................... 1360 Gráfico (Chart) ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1361 Tipo de Dados (Data Type) ......................... 1360 Modo de Comunicação (Communication Mode) ............... 1359 Mostrar Símbolos (Show Symbols) .............................................................................................................................................................. 1360 Eixo X da Origem de Dados (Data Source X Axis) ...................................................................... 1359 Nome do Arquivo (Filename) .............................................. 1358 Ativado (Enabled) ................................................................................................................................................................................ 1357 Funcional (Functional) – Controle VBX (VBX Control) .................... 1360 Navegação (Navigation) ........................................................ 1361 Próximo Item de Navegação (Next Navigation Item) .................... 1359 Mostrar Linhas (Show Lines) ............... 1361 CURSO COMPLETO00✦ XLIX Para uso pessoal...................................................................................................................................................................................................................................................................................................................................................... 1360 Navegação do Mouse (Mouse Navigate) ............................................................................... 1357 Manter Posição do Cursor (Keep Cursor Position) .............. 1359 Modo de Execução (Execution Mode) ......................................... 1357 Ativado (Enabled) .......................................................................................................................................... 1360 Atualizar na Consulta (Update on Query) ........................................................................................................................................................................................................................................................................................................................................ 1357 Ativado (Enabled) .............................................................................................................................................................................................................................................................................. 1360 Bloco de Dados da Origem de Dados (Data Source Data Block) ................................................. 1359 Grupo de Registros (Record Group) ............. 1357 Funcional (Functional) – Área do Usuário (User Area) ........................................................... 1358 Arquivo do Controle VBX (VBX Control File) ...................................................................... 1359 Ativado (Enabled) .............................................. 1359 Funcional (Functional) – Área Bean (Bean Area) ..........................................................

............ 1368 Mostrar Barra de Rolagem Horizontal (Show Horizontal Scroll Bar) ................................................................................................................................................................................................................ 1364 Cálculo (Calculation) ................................................................ 1365 Distância Entre Registros (Distance Between Records) .............. 1364 Fórmula (Formula) .................................................. 1368 Largura (Width) ............................................................................................................................................................................................................................................................................................................................... 1366 Inserção Permitida (Insert Allowed) ............................................................................ 1366 Lista de Valores (List of Values) ......................................... 1364 Sincronizar com o Item (Synchronize with Item) ................................................................................................................................................................................................................................................ 1365 Tamanho da Consulta (Query Length) .................................................................................................................... 1362 Máscara de Formato (Format Mask) ......................................................................................................................................................................................... 1364 Item Sumariado (Sumarized Item) .......................................... 1367 Físico (Physical) ....................................................................................................................................................................................... 1364 Copiar Valor a Partir do Item (Copy Value from Item) ................................................................................................................................................................................................................................................ 1365 Grupo de Atributos Visuais do Registro Atual (Current Record Visual Attribute Group) ....................................................................... 1365 Chave Primária (Primary Key) ................................................................................................................................. 1362 Mínimo Valor Permitido (Lowest Allowed Value) ............................................................... 1367 Validar a Partir da Lista (Validate from List) .................................................................................................................................................................................... .................................................................................................... 1365 Banco de Dados (Database) ............................................................................................... 1369 Mostrar Barra de Rolagem Vertical (Show Vertical Scroll Bar) ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1369 Mostrar Botão Play (Show Play Button) ......................................................................................................................................................................................... 1367 Posição Y da Lista (List Y Position) ...................................... 1363 Máximo Valor Permitido (Highest Allowed Value) ............................................................................. 1364 Função Sumária (Summary Function) .............. 1366 Atualizar Somente se Null (Update Only if Null) .................. 1367 Página Tab (Tab Page) .................. 1368 Posição Y (Y Position) ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..................................................................... 1366 Atualização Permitida (Update Allowed) ....................................... 1369 Mostrar Botão Rewind (Show Rewind Button) ........................................................................................................................................................................................................... 1369 L ✦00CURSO COMPLETO Para uso pessoal............................................................................... 1367 Posição Y do Editor (Editor Y Position) ............................ 1366 Lista de Valores – LOV (List of Values – LOV) ............................................... 1361 Obrigatório (Required) ...................... 1367 Editor (Editor) .................................... 1365 Registros (Records) ........................... 1367 Visível (Visible) ................................................................................................. 1367 Editor (Editor) .......................................... 1366 Consulta Insensível a Maiúsculas/Minúsculas (Case Insensitive Query) ...................................................................................................................... 1366 Posição X da Lista (List X Position) ........................ 1366 Bloquear Registro (Lock Record) ...................................... 1367 Posição X do Editor (Editor X Position) ................................... 1368 Finalizado (Rendered) ....................................... 1368 Posição X (X Position) ............................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Valor Inicial (Initial Value) ................................................ 1365 Item do Banco de Dados (Database Item) .............................. 1364 Modo de Cálculo (Calculation Mode) ........................ 1364 Bloco Sumariado (Summarized Block) ....................... 1365 Consulta Permitida (Query Allowed) ............................................... 1365 Nome da Coluna (Column Name) ................................................................................................................ 1368 Bevel (Bevel) ........................................................................................................... 1365 Número de Itens Exibidos (Number of Items Displayed) ............ 1368 Altura (Height) .............................................................................................................................................................................................. 1365 Somente Consulta (Query Only) ............................................... 1369 Mostrar Botão Record (Show Record Button) ......... 1367 Canvas (Canvas) ..........

........................................................................................................................................................... 1371 Justificação do Prompt (Prompt Justification) .............................................................................................................................................................. 1369 Mostrar Indicador de Tempo (Show Time Indicator) ............ 1371 Deslocamento de Conexão do Prompt (Prompt Attachment Offset) ....................................................................................................................................... 1373 Internacional (International) .............................................................................................................................................................................................. 1373 Estado Inicial do Teclado (Initial Keyboard State) .................................................................................................................................................................... 1370 Fonte (Font) .................................................... 1374 Nome (Name) ................................................... 1372 Cor do Prompt (Prompt Color) ..................... 1372 Cor de Fundo do Prompt (Prompt Foreground Color) .................................................................................................... 1372 Dica (Hint) ............................................................................................ 1369 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) ........................................................................................... 1371 Prompt (Prompt) ............................................................................................................................................................................................................................................................................................................................................................................................... 1372 Nome da Fonte do Prompt (Prompt Font Name) ............................................................................................................................................................................................................................................................ SUMÁRIO Mostrar Botão Fast Forward (Show Fast Forward Button) ................................................ 1370 Estilo da Fonte (Font Style) ................................................................................................................................... 1370 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) ...................................... 1373 Direção (Direction) ........................................ 1372 Espaçamento da Fonte do Prompt (Prompt Font Spacing) ............................................................................................................. 1374 Geral (General) ............................................................................................. 1372 Fonte do Prompt (Prompt Font) ..................... 1372 Peso da Fonte do Prompt (Prompt Font Weight) . 1374 Ativado (Enabled) .......................................... .......................................................................................................................................................................................................................................................................................................................................... 1373 Dica de Ferramenta (Tooltip) ................................................................................................... 1370 Branco Sobre Preto (White on Black) ................................................................................................................................. 1373 Estado do Teclado (Keyboard State) ................................................................. 1369 Grupo de Atributos Visuais (Visual Attribute Group) ........................................................................................ 1371 Ordem de Leitura do Prompt (Prompt Reading Order) ................................................................................................ 1369 Mostrar Controle de Volume (Show Volume Control) ................................................ 1370 Padrão de Preenchimento (Fill Pattern) .......................................................... 1374 Informações Sobre a Divisão em Subclasses (Subclass Information) ................................................................................................. 1371 Alinhamento do Prompt (Prompt Alignment) ............................................................................................................................................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.................................................................................................................................................... 1373 Item de Menu (Menu Item) ............... 1371 Limite de Conexão do Prompt (Prompt Attachment Edge) . 1370 Tamanho da Fonte (Font Size) ...................................................................................... 1374 Etiqueta (Label) ... 1371 Estilo de Exibição do Prompt (Prompt Display Style) ............... 1371 Deslocamento do Alinhamento do Prompt (Prompt Alignment Offset) .................................................................................................................................................................................................................................... 1372 Estilo da Fonte do Prompt (Prompt Font Style) .................................................................................... 1373 Grupo de Atributos Visuais de Dica de Ferramenta (Tooltip Visual Attribute Group) .. 1369 Mostrar Slider (Show Slider) .................................... 1371 Espaçamento da Fonte (Font Spacing) .................................. 1372 Tamanho da Fonte do Prompt (Prompt Font Size) ............................................................................................................................ 1370 Cor (Color) ............................................................................... 1375 CURSO COMPLETO00✦ LI Para uso pessoal........................................................... 1373 Ordem de Leitura (Reading Order) ............................ 1370 Nome da Fonte (Font Name) ............ 1374 Funcional (Functional) ..................................................................................................... 1372 Exibir Dica Automaticamente (Display Hint Automatically) .................................... 1369 Atributos Visuais (Visual Attribute) ................................................................................................................ 1369 Grupo de Atributos Visuais do Prompt (Prompt Visual Attribute Group) ................................................................................................................................................................................................................................................................... 1374 Comentários (Comments) .............. 1372 Ajuda (Help) ............................. 1370 Peso da Fonte (Font Weight) ..................................................................................................................................... 1371 Prompt (Prompt) .......................................................................................

.............................................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Tipo de Item de Menu (Menu Item Type) ................................................................................................................. 1378 Descrição da Ajuda (Help Description) .................................................................... 1379 Renovação Automática (Automatic Refresh) .......................................................................................................................................................................................................................................................................................... 1380 Largura Automática da Coluna (Automatic Column Width) ................................................................... 1380 Posição Automática (Automatic Position) ................................................................................................... 1379 Filtrar Antes da Exibição (Filter Before Display) ........................................................................................................................................................ 1376 Acelerador de Teclado (Keyboard Accelerator) ..................................................................................................................................................................................................................... 1375 Item Mágico (Magic Item) ....................................................................................... 1380 Posição X (X Position) .......................................................................................................................................................... 1380 Físico (Physical) .................................................................... 1378 Lov (Lov) ...................................... 1380 Seleção Automática (Automatic Select) ............................................................... 1380 Posição Y (Y Position) ................................................................................................................................. 1377 Nome do Arquivo de Ícones (Icon Filename) ............................................................................................................. 1377 Atribuições do Item (Item Roles) .................................................................................................................................................................................................................................................... 1381 Grupo de Atributos Visuais (Visual Attribute Group) ................................................................................... 1377 Exibição sem Privilégio (Display without Privilege) ................................................................. 1378 Modo Caracter (Character Mode) .................................................................... 1377 Segurança do Menu (Menu Security) ........................................................................................................................................................................................................................................................................................................................... 1377 Fonte (Font) ............................................ 1376 Visível na Barra de Ferramentas de Menu Vertical (Visible in Vertical Menu Toolbar) ............................................................................................................................................................................................................................................................... 1380 Largura (Width) .. 1376 Nome do Submenu (Submenu Name) ................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1377 Visível (Visible) ...................................................................................................................................... 1379 Grupo de Registros (Record Group) ......................................................... 1379 Tipo de Lista (List Type) ................................. 1381 Atributos Visuais (Visual Attribute) ............................................................................................................................................................. 1378 Nome da Fonte (Font Name) .............. 1378 Espaçamento da Fonte (Font Spacing) .... 1378 Ajuda (Help) ......................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.......... 1378 Tamanho da Fonte (Font Size) ............................... 1381 LII ✦00CURSO COMPLETO Para uso pessoal.......................................................................................................... .. 1376 Ícone no Menu (Icon in Menu) ......................................................................................................................... 1377 Físico (Physical) .................................................................. 1379 Comentários (Comments) ................ 1376 Código do Item de Menu (Menu Item Code) ............................................... 1378 Nome (Name) ................................................................. 1376 Visível na Barra de Ferramentas de Menu Horizontal (Visible in Horizontal Menu Toolbar) ........................... 1378 Geral (General) ................................................................................. 1379 Propriedades de Mapeamento de Coluna (Column Mapping Properties) ..................................................... 1375 Grupo de Opções de Itens de Menu (Menu Item Radio Group) ............................................................................................... 1378 Dica (Hint) ...................................................... 1376 Tipo de Comando (Command Type) ............ 1376 Visível no Menu (Visible in Menu) ................................................................................ 1377 Grupo de Atributos Visuais (Visual Attribute Group) ............................................................................................................................. 1381 Altura (Height) .................. 1378 Informações Sobre a Divisão em Subclasses (Subclass Information) ........................................................................................................................................................................................................ 1379 Funcional (Functional) ................................................................ 1379 Exibição Automática (Automatic Display) .................................... 1377 Atributos Visuais (Visual Attribute) ............................................................ 1378 Peso da Fonte (Font Weight) ............................................................. 1379 Título (Title) ....................................................................................... 1378 Estilo da Fonte (Font Style) ........................................................................................................................................................................................................................................................ 1380 Salto Automático (Automatic Skip) ......................................................................................................................................................................................................................

.............. ........................................................................................................................................................................................ 1384 Menu Tirar (Tear-off Menu) .................................................................................................................................................................................................................. 1384 Módulo Form (Form Module) .............................................. 1386 Modo de Isolamento (Isolation Mode) ....................................................................................... 1382 Nome da Fonte (Font Name) ............................................................................................. 1383 Comentários (Comments) .............................................................................................................................. 1382 Peso da Fonte (Font Weight) ............................................... 1383 Nome (Name) .................... 1386 CURSO COMPLETO00✦ LIII Para uso pessoal.. 1385 Navegação (Navigation) .................. 1381 Fonte (Font) .......................................................................................................................................................................................................................... 1384 Título do Livro de Ajuda (Help Book Topic) ............... 1385 Primeiro Bloco de Dados de Navegação (First Navigation Data Block) ................................... 1386 Máximo de Registros Extraídos (Maximum Records Fetched) ................................................................................ 1385 Segurança do Menu (Menu Security) ............................................................................................................................................ 1385 Menu Inicial (Initial Menu) ................................................................................................................ 1381 Cor (Color) .......................................................................................................................................................................................................................................................................................................................................................................................................................................... 1381 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) ................................................. 1383 Geral (General) .............. 1386 Registros (Records) ............... 1385 Limite de Navegação do Mouse (Mouse Navigation Limit) ............... 1383 Informações Sobre a Divisão em Subclasses (Subclass Information) .................................................................... 1383 Menu Tirar (Tear-off Menu) ............................................................................................................................................................. 1383 Funcional (Functional) ............................. 1385 Origem de Menu (Menu Source) .. 1385 Atribuição de Menu (Menu Role) ............................... 1384 Nome (Name) ................................................................................................................................................... 1382 Menu e Submenu (Menu) ... 1384 Janela Console (Console Window) ................................................................................................................................................................................................................................................ 1385 Módulo de Menu (Menu Module) ....... 1383 Informações Sobre a Divisão em Subclasses (Subclass Information) ............................................... 1382 Direção (Direction) ........................ 1384 Informações Sobre a Divisão em Subclasses (Subclass Information) ....................................................................................................................... 1382 Espaçamento da Fonte (Font Spacing) ........................... 1381 Padrão de Preenchimento (Fill Pattern) .................................................................................................................................. SUMÁRIO Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) ................................ 1386 Modo de Interação (Interaction Mode) .......... 1386 Grupo de Atributos Visuais do Registro Atual (Current Record Visual Attribute Group) ................. 1386 Banco de Dados (Database) ......................................................................................................... 1384 Funcional (Functional) ............................................................................................................................................................................. 1383 Menu Pop-up (Popup Menu) .......................................................................................................................................................................................................................................................................................................... 1383 Nome (Name) ................. 1384 Título (Title) ........................................................................................................................................................................................................................................... 1381 Branco Sobre Preto (White on Black) ........................ 1382 Internacional (International) ......................................................................................................................................... 1384 Funcional (Functional) .............. 1384 Comentários (Comments) ................ 1386 Unidade de Validação (Validation Unit) ............................... 1383 Geral (General) ...................................................................................................... 1386 Tempo Máximo Para Consulta (Maximum Query Time) ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1383 Comentários (Comments) ............................................................................................................................................................................. 1384 Geral (General) .... 1382 Tamanho da Fonte (Font Size) .. 1385 Diferir Imposição Obrigatória (Defer Required Enforcement) ..................... 1382 Estilo da Fonte (Font Style) .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..........................................................................................

.............................................................. 1389 Código de Inicialização (Startup Code) ............................................................................................................................................................................................................................................................................... 1391 Branco Sobre Preto (White on Black) .............................................................................................................. 1388 Geral (General) ............................................................................................................................................. 1388 Nome (Name) ............................................................................................................................................................................................................ 1392 Geral (General) ........................................................ 1387 Canvas da Barra de Ferramentas Vertical do Form (Form Vertical ToolBar Canvas) ............................................................................. 1389 Página Tab (Tab Page) ........................................................................................................................................................................ 1391 Direção (Direction) ...... .......................................................................................................................................... 1389 Compartilhar Biblioteca com o Form (Share Library with Form) ............ 1392 Informações Sobre a Divisão em Subclasses (Subclass Information) ............... 1390 Ativado (Enabled) .................................................................................... 1391 Cor (Color) ........... 1392 Nome (Name) .................................................................................................. 1387 Sistema Coordenado (Coordinate System) ................................................................................................................................................................................................................................................................................................................................................................. 1391 Grupo de Atributos Visuais (Visual Attribute Group) ..... 1388 Modo de Compatibilidade em Runtime (Runtime Compatibility Mode) ... 1391 Parâmetro (Parameter) ........................ 1389 Nome do Arquivo do Menu (Menu Filename) ..................................................................................................................................................................... 1389 Segurança do Menu (Menu Security) ................................................................. 1387 Canvas da Barra de Ferramentas Horizontal do Form (Form Horizontal ToolBar Canvas) .............................................................. 1388 Funcional (Functional) ..................................................................................................................................................................................................................................................................... 1392 Tipos de Dados de Parâmetro (Parameter Data Type) ...................................................................................................................................................................................................... 1390 Visível (Visible) ............................................... 1392 Valor Inicial do Parâmetro (Parameter Initial Value) ................... 1393 Geral (General) ....................................................................................... 1388 Menu Principal (Main Menu) .......................................................................................................................................................................................................................................................... 1389 Geral (General) .......................................................................................... 1390 Físico (Physical) ........... 1387 Usar Controles 3D (Use 3D Controls) ......... 1390 Funcional (Functional) . 1388 Diretório do Menu (Menu Directory) .............................................................................. 1391 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) ................................................................................................................................................................................................................................................................................................................................................. 1387 Direção (Direction) ........................................................................................................................................................... 1391 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) .............................................................................................. 1390 Atributos Visuais (Visual Attribute) ............................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1390 Comentários (Comments) ................................................... 1389 Nome (Name) .... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos............................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Físico (Physical) ...... 1388 Módulo Menu (Menu Module) ................................................................................................................................................................ 1393 LIV ✦00CURSO COMPLETO Para uso pessoal.................................................. 1388 Informações Sobre a Divisão em Subclasses (Subclass Information) ................................................. 1387 Internacional (International) ......... 1390 Etiqueta (Label) ....................................... 1388 Comentários (Comments) .................................................................................................................................. 1392 Comentários (Comments) ................................................................................................................................. 1387 Compatibilidade (Compatibility) ........................ 1393 Quadro (Frame) ............................................................... 1391 Internacional (International) .............................................. 1392 Dados (Data) ................................................. 1389 Usar Segurança (Use Security) ..................................................................................................................................................................................................................................................... 1389 Atribuições do Módulo (Module Roles) ........................................................................... 1392 Tamanho Máximo (Maximum Length) .................. 1391 Padrão de Preenchimento (Fill Pattern) ............................................................... 1389 Informações Sobre a Divisão em Subclasses (Subclass Information) ............................................................................................................................................................................................

.................................................... 1394 Alinhamento de Objetos Simples (Single Object Alignment) ............................ 1393 Estilo de Layout (Layout Style) ........... 1399 CURSO COMPLETO00✦ LV Para uso pessoal............... 1397 Estilo de Maiúsculas/Minúsculas (Cap Style) .................... 1398 Título de Quadro (Frame Title) ............ 1393 Bloco de Dados de Layout (Layout Data Block) ....................................................................................................................................................................................................................................................................................................................................... 1398 Título do Quadro (Frame Title) ................................................................................................................................................................ 1396 Largura (Width) ..................................................................................... 1395 Número de Registros Exibidos (Number of Records Displayed) ...................................... 1396 Posição Y (Y Position) ........................................................................................ 1394 Máximo de Objetos por Linha (Maximum Objects Per Line) ........................... 1398 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) .... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos................................................... 1395 Deslocamento do Prompt ao Topo (Top Prompt Offset) ...................................................................................................................................................................................................................................................................................... 1394 Deslocamento Vertical de Objeto (Vertical Object Offset) .................... 1396 Mostrar Barra de Rolagem (Show Scroll Bar) ............................................................................................................................................................................................................................................. 1394 Deslocamento Inicial do Prompt (Start Prompt Offset) ............................................................................................................................................................................ 1393 Informações Sobre a Divisão em Subclasses (Subclass Information) .................................................................... 1393 Alinhamento do Quadro (Frame Alignment) ....................................................................................... 1395 Alinhamento do Prompt ao Topo (Top Prompt Alignment) .................................................... 1394 Margem Vertical (Vertical Margin) ............................................................................................................................................................................................................................................................................ 1397 Cor (Color) ................................. 1396 Largura da Linha (Line Width) .................................................................................................................................................................. 1396 Físico (Physical) ................................................................................................................................................................... 1397 Grupo de Atributos Visuais (Visual Attribute Group) ...................................................................... 1394 Preenchimento Vertical (Vertical Fill) ......................................... 1396 Alinhamento da Barra de Rolagem (Scroll Bar Alignment) . 1395 Permitir Prompts de Várias Linhas (Allow Multi-Line Prompts) ............................... SUMÁRIO Nome (Name) ............................................................................................................................................................................................................... 1393 Quadro de Layout (Layout Frame) .............................................................................................................................................................................................................................................................................................................. 1394 Alinhamento Inicial do Prompt (Start Prompt Alignment) .............. 1394 Margem Horizontal (Horizontal Margin) ............................................................. 1397 Atributos Visuais (Visual Attribute) ............................................................................................................................................................................................................................... 1397 Grupo de Atributos Visuais do Título do Quadro (Frame Title Visual Attribute Group) ........... 1398 Padrão do Limite (Edge Pattern) ........................................... 1396 Altura (Height) ......... 1398 Alinhamento do Título do Quadro (Frame Title Alignment) ................................................................................... 1395 Permitir Prompts Anexos ao Topo (Allow Top-Attached Prompts) ................................................................................................................................................................................... 1395 Registros (Records) ...... 1396 Largura da Barra de Rolagem (Scroll Bar Width) ........................ 1395 Distância Entre Registros (Distance Between Records) ..................................................... 1395 Permitir Prompts Iniciais Anexos (Allow Start-Attached Prompts) ........................................................................................................................................ 1397 Estilo de Traço (Dash Style) .............................................................. 1394 Permitir Expansão (Allow Expansion) ....................................................................................................... ..................................................................................................................................................... 1396 Posição X (X Position) ................................................................. 1394 ShrinkWrap (ShrinkWrap) ............................ 1393 Atualizar Layout (Update Layout) ........ 1397 Estilo de União (Join Style) .................................................... 1394 Deslocamento Horizontal de Objeto (Horizontal Object Offset) ..................................................................................................................................................... 1397 Bevel (Bevel) .................................................... 1398 Cor de Fundo do Limite (Edge Foreground Color) / Cor de Fundo do Limite (Edge Background Color) ............................ 1398 Padrão de Preenchimento (Fill Pattern) ...................................................................................................................................................................................................................... 1393 Tipos de Gráficos (Graphics Type) ...................................................................... 1396 Barra de Rolagem (Scrollbar) ..........................................................................................................................

........................................................................................................ 1399 Tamanho da Fonte do Título do Quadro (Frame Title Font Size) ......................................................................... 1400 Tipo de Relação (Relation Type) ............................................................................................... 1402 Geral (General) ............................ 1403 Título (Title) ...... 1402 Informações Sobre a Divisão em Subclasses (Subclass Information) .................................................................................................................................................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos...................................................... 1404 Redimensionamento Permitido (Resize Allowed) ........................................................................................... 1400 Nome (Name) ............... 1401 Coordenação (Coordination) ....................................................................................................................................................................................................................................................................................... 1402 Tópicos do Livro de Ajuda (Help Book Topics) ............................ 1399 Cor de Fundo do Título do Quadro (Frame Title Foreground Color) ............................................................................................................................................................ 1404 Minimização Permitida (Minimize Allowed) .................. 1399 Peso da Fonte do Título do Quadro (Frame Title Font Weight) .................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Deslocamento do Título do Quadro (Frame Title Offset) .................................................................................................................................................................................................................................................................................. 1399 Nome da Fonte do Título do Quadro (Frame Title Font Name) .............................................................. 1399 Fonte do Título (Frame Title Font) .......................................................................................................................................................................................................................................................................................................... 1403 Canvas da Barra de Rolagem Horizontal (Horizontal Toolbar Canvas) ................................................................................. 1400 Geral (General) ..................................... 1399 Espaçamento da Fonte do Título do Quadro (Frame Title Font Spacing) ... 1404 Título Minimizado (Minimized Title) .................................................................................................................................................... 1399 Cor do Título do Quadro (Frame Title Color) ..................................................................... 1404 Fechamento Permitido (Close Allowed) .............................. 1402 Janela (Window) ............... 1400 Item de Referência de Detalhe (Detail Reference Item) ............... 1404 Herdar Menu (Inherit Menu) ............................................................................................................................................................. .......................................................... 1405 Físico (Physical) ....................................................................................................................................... 1404 Nome do Arquivo de Ícones (Icon Filename) ...................................................................................................... 1401 Impedir Operações sem Mestre (Prevent Masterless Operation) .................................................................. 1403 Estilo da Janela (Window Style) ................................................................... 1400 Bloco de Dados Detalhado (Detail Data Block) .. 1399 Relação (Relation) ............................... 1404 Movimentação Permitida (Move Allowed) ............................................................................... 1399 Ordem de Leitura do Título do Quadro (Frame Title Reading Order) ............................................................... 1402 Consulta Automática (Automatic Query) ............................................................................................................................................................................................................................................................................................................................................................................................................................ 1400 Deletar Comportamento do Registro (Delete Record Behavior) ............. 1402 Nome (Name) ........................... 1405 LVI ✦00CURSO COMPLETO Para uso pessoal...................................................................................................................................................................................................................... 1403 Canvas da Barra de Ferramentas Vertical (Vertical Toolbar Canvas) ........................................................ 1403 Modal (Modal) ............................ 1405 Posição X (X Position) .................................................................................................................................................................. 1402 Funcional (Functional) .................... 1405 Altura (Height) .. 1399 Espaçamento do Título do Quadro (Frame Title Spacing) ....................................................................................................... 1405 Largura (Width) ............................................................. 1399 Estilo da Fonte do Título do Quadro (Frame Title Font Style) ................................................................................................................ 1400 Funcional (Functional) .................................. 1404 Maximização Permitida (Maximize Allowed) ....................................................................................................................................................................................................... 1403 Ocultar na Saída (Hide on Exit) .............. 1402 Comentários (Comments) ........................................................... 1400 Condição de União (Join Condition) ........................................................................................................................................................................................ 1400 Comentários (Comments) ............................. 1401 Diferido (Deferred) ............................................................................................................................................................................................................. 1405 Posição Y (Y Position) .................................................................................................................................................................................................................................................................................................................. 1400 Informações Sobre a Divisão em Subclasses (Subclass Information) ...................... 1403 Canvas Principal (Primary Canvas) .............................................

.............................................. 1411 System...................................................................................................................................... 1410 System.................................................................................................................................................................Mouse_X_Pos ................................................................................. 1412 System..................Mouse_Item ...........Cursor_Item ........ 1412 System..............Mode ........................................................................................................................................................................................................................................................................................ 1412 System......................... 1406 Fonte (Font) ....................................Mouse_Button_Pressed ...............................................................................................................Current_Block ...................................................... 1410 System..... 1410 System....................................................Form_Status ................................................................................................................................. 1410 System...... 1412 System.................................. 1407 Peso da Fonte (Font Weight) .....Current_Datetime .....Effective_Date ( * ) ..............................................................................................................................................................................................Current_Value ..........................................................................................Cursor_Value .....................................................................Mouse_Button_Shift_State .................................................... 1405 Mostrar Barra de Rolagem Horizontal (Show Horizontal Scroll Bar) .........................................Mouse_Y_Pos .............................................................................................. 1406 Branco Sobre Preto (White on Black) ...........................................Event_Window .................... 1413 System..................................................................................................................................................................................................................................................................... 1411 System..................................................................................................... 1407 CAPÍTULO 14 – VARIÁVEIS DE SISTEMA DOFORMS E VARIÁVEIS DE AMBIENTE ....................................................................................................Coordination_Operation ........................................... 1406 Cor de Fundo (Foreground Color) / Cor de Fundo (Background Color) .....................Last_Query ......................................................................................................................................................... 1407 Internacional (International) ...................................................................................................................................Master_Block ...................................................................................................................Mouse_Record ........Last_Form ..................................................................................................................................................................................................................................................................................................................................................................................................................... 1406 Atributo Lógico do Modo Caractere (Character Mode Logical Attribute) .................Custom_Item_Event_Parameters ..................Mouse_Canvas .................................. 1413 System...........................Current_Form . 1412 System......................................Block_Status ............................. 1411 System........................................................... SUMÁRIO Bevel (Bevel) ................. 1406 Cor (Color) .............................................................Current_Item ..............................................................................................................................................................................................................Message_Level ( * ) ...............................................................................Event_Canvas ........................................... 1411 System.................................................. 1410 System..................................................................................... 1410 System.... 1406 Atributos Visuais (Visual Attribute) ....... 1407 Direção (Direction) ....................... 1405 Mostrar Barra de Rolagem Vertical (Show Vertical Scroll Bar) ............................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................................................................................... 1412 System............................................................................................................................ 1410 System................................................................................................. 1412 System............................................................................................................................................................................................Custom_Item_Event .......................................................... 1407 Nome da Fonte (Font Name) .. 1414 System................................................................................ 1409 Variáveis de Sistema .................................................................................. 1413 System.................................................................................................................Date_Threshold ( * ) .Last_Record ............................................................................................................................................................................................................................................................................... 1411 System...................... 1407 Espaçamento da Fonte (Font Spacing) ................. 1407 Estilo da Fonte (Font Style) ..................................................................................... 1411 System......................................................... 1413 System..............................................................................................................Mouse_Button_Modifiers ........................ 1413 System................ 1406 Grupo de Atributos Visuais (Visual Attribute Group) ...................................................................................... 1406 Padrão de Preenchimento (Fill Pattern) .............................. 1413 System..Cursor_Record ............................................................................................................................................................ 1407 Tamanho da Fonte (Font Size) ............................................... ................. 1413 System................................................................................................................................................................. 1414 CURSO COMPLETO00✦ LVII Para uso pessoal........................................................................................... 1414 System...... 1411 System............ 1412 System........ 1410 System....................................................................................................................................................................................................................Mouse_Form ....... 1413 System........................................................................Cursor_Block ...................................

....................................................................................................... 1423 Bloco ..........................................Trigger_Record ........................................................................................................................................................................................................................................................................................................................ 1420 Reports60_Tmp ....................................................................................................................... 1418 OleCreateObjPoolInMemory .................................................................................................... 1415 Ca_Gprefs ............................................................................................. 1417 Forms60_Timeout .......................................................... 1418 OleDoNotUpdateLinks ............ 1419 Reports60_Cookie_Expire ............................................................................ 1420 CAPÍTULO 15 – BUILT-INS DO FORMS . 1418 Forms60_User_DateTime_Format .......................................................................................... 1414 System.... ............................ 1419 Reports60_Reports_Server .................................................................................................................................................................................................................................................................................................... 1419 Reports60_CGIMap ...................................................................... 1418 Forms60_User_Date_Format ........... 1419 Reports60_DB_Auth .......................................................................................... 1417 Forms60_Output .............................. 1414 System......................................................................................................................................................................................................................... 1422 Alerta (Alert) ....................................................................... 1419 Reports60_Encryption_Key ......................... 1418 Forms60_UserExits ..................... 1415 System...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Tab_New_Page ............................................................................................................................................................................................................................................................................................Trigger_Item .....................................................................................................Mouse_Record_Offset ............................. 1417 Forms60_Output_Date_Format ...................................................................................................................... 1416 Forms60_Editor .......................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..............................................................................................................................................Tab_Previous_Page ..................................... 1423 Aplicação ........................................................................................................................................... 1421 Extensões Standard (Standard Extensions) ..................................... 1422 ActiveX ............................................................................................................................................................................................................................................................................................... 1424 View (Stacked) .................................................................................................................................................................................. 1420 Ui_Icon .....Record_Status ......................................................................................................................................... 1417 Forms60_Path ...................... 1414 System.. 1419 Reports60_CGINoDiag ...................................................................... 1417 Forms60_Mapping ....................................................................................................................................................... 1419 Reports60_CGIDiagHeadTags ................. 1419 Reports60_Path .................................... 1414 System........................................................................................................................................................................................... 1416 Forms60_Error_Date_Format ......................................... 1418 OleUpdateLinksPrompt .................................................................................................................................................................................................................................................................................................................................................................................................. 1414 System.................................................................................................................................................................................................................................. 1415 Variáveis de Ambiente ... 1415 System.................................................................................................................................................................................... 1416 Forms60_Javadir ............................................................. 1416 Forms60_Error_DateTime_Format ..................................... 1424 Canvas (Content) ........................................................................ 1417 Forms60_Output_DateTime_Format ...............................................................................Suppress_Working ( * ) ................. 1416 Forms60_DefaultFont ........................................................................................................ 1424 LVIII ✦00CURSO COMPLETO Para uso pessoal....................................................................Trigger_Block ..... 1424 Canvas-View ... 1420 Reports60_UserExit .................................................................................................................................................................................................................................................................................................................................................... 1416 Ca_Uprefs .................. 1418 Reports60_CGIDiagBodyTags ....................................................................................Trigger_Node ..................................................................................................................................................................................................................... 1414 System................. 1419 Reports60_CGIHlp ................................................................................................................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO System.............................. 1417 Forms60_RepFormat ................................................................................................................................................................................................................................................................ 1420 Reports60_Sys_Auth ...................................................

................................................................ 1435 Window ......................................................................................................................... 1428 Image ........ 1442 Rotinas do Pacote ................................................................................................................................................... 1442 Descrição do Pacote ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1436 Vbx ........................................................................................................ 1439 Descrição do Pacote ......... 1442 Ora_Nls .............................................. 1437 Texto_Io .................................................................................................................................. 1441 Rotinas do Pacote ................................................................................................. 1438 Rotinas do Pacote ...................................................................................... 1438 Descrição do Pacote ............................................................................................................................................ 1439 Debug .................................................................... 1437 Rotinas do Pacote ... 1425 Item ...................... 1440 Web ......................... 1430 Controle de Tempo ............................................................................................................................................ 1431 Validação ................................................................................................. 1431 Parâmetro Para Form ................... 1438 Ole2 ........... 1439 Pecs ............................................................................................................... 1431 Lov ...................... 1429 Menu .......................................................................... 1425 Form ..................................................................................................................................................................................................................................................................................................................................................................................... 1431 Editor ............................................................................................................................................................................................................................... 1441 Ora_prof ................................................................................................................................................. ..................................................................................................................................................................................................................................................................................................................... 1428 List ....................................................................................................................................... 1429 Sound .............................................................................................................................. 1439 Rotinas do pacote ................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos...................... 1431 Query .................................................................................... 1429 Mensagem ................................................................................................................................... 1434 Transaction ................................................................................................................................................................................................................................................................................................................................................................................ 1426 Geral .................................................................................................................... 1440 Descrição do Pacote ................................................................................................................................................. 1441 Descrição do Pacote ........................................... SUMÁRIO Tab ................................................................................................................................................................................................................. 1434 Report ......................................................... 1440 Ora_Ffi ..................................................................................................................................................... 1428 OLE .................................................................................................................................................................................................................................. 1428 Editor ................................................................................ 1440 Rotinas do Pacote ....................................................................................................................................................................................................................................... 1438 Descrição do Pacote .................................................................................................................... 1433 Relation .............................................................................................................................................................................................................................................................................................................................................................................. 1426 Chart .............................. 1442 CURSO COMPLETO00✦ LIX Para uso pessoal...................... 1438 Rotinas do Pacote ............................................................................................................................................................................................................................................................................................................................. 1440 Rotinas do Pacote .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1427 CheckBox ............................................................................................ 1428 Radio ........................................................................................................... 1432 Record Group ......................................................................................................................................................................................................................................... 1437 Descrição do Pacote .................... 1432 Record ....................................................................................................... 1440 Descrição do Pacote ................................................................................................................................................................................................................................................................................................................... 1436 Compatibilidade com Versões Anteriores ......................................................................................

............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1443 DDE ..................................................................................... 1453 When-Custom-Item-Event ...................................................... 1443 Descrição do Pacote .................................................................................................................................................................................................................................. 1444 Jni .................................................................... 1452 Processamento do Bloco (Block Processing) .................................................................. 1447 Exec_Sql .........................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Descrição do Pacote ......................................................................................................................................................................... 1447 Rotinas do Pacote .. 1443 Rotinas do Pacote ................................................................................................ 1453 When-Form-Navigate ..................... 1453 When-Mouse-Click ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1452 When-Create-Record .............................................................................................................. 1444 Ora_Java .......................................................................... 1444 Rotinas do Pacote ........................................... 1446 Rotinas do Pacote ............................................................................................... 1453 When-Checkbox-Changed ............................................................................................................................................................................. 1442 Rotinas do Pacote ............................................. 1452 On-Dispatch-Event ........................................................................................................... 1442 Tool_Res ...................................... 1444 Rotinas do Pacote ............................................................................................................................................................................................................ 1452 When-Button-Pressed ................ 1451 Classificação Funcional ... 1443 Tool_Err . 1452 When-Database-Record ........................................ 1453 When-Mouse-Down ........................................................................................................................................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.......... 1454 LX ✦00CURSO COMPLETO Para uso pessoal........................................ 1454 When-Mouse-Leave ............................ 1453 When-List-Activated ............................................................................................................................................................................................ 1443 Descrição do Pacote ................................................................................................................................................................................................................................................ 1453 When-List-Changed ................ 1443 Tool_Env .......................................................................................................................................................................................................................... 1443 Rotinas do Pacote ......... 1454 When-Mouse-Enter ......................................................................................................................................................... 1452 When-Clear-Block .......................................................................................................................................................................................... 1453 When-Image-Activated .......................................................................................................................................... 1443 Rotinas do Pacote ..................................................................................................................................................................................................................................... 1448 Descrição do Pacote .............................................................. 1453 When-Image-Pressed ................................................................. 1446 Descrição do Pacote ................................................................................................................................................................................................................................................................................................. 1453 When-Mouse-DoubleClick .......................................................................................................................................................................................... 1454 When-Mouse-Up .............. 1452 Eventos de Interface (Interface Event) .................................................................... 1448 CAPÍTULO 16 – TRIGGERS DO FORMS ................................................. 1452 ActiveX (ActiveX) ................................................................................................................................................................................................................................. 1454 When-Mouse-Move ............................. 1452 When-Remove-Record ....................................... 1443 Descrição do Pacote ..................................................................................................... ................................................................................................................................................................................................................................................................................... 1447 Descrição do Pacote ...................................................................................................................................................................................................................................................................................................................................................................................................... 1454 When-Radio-Changed .............. 1444 Descrição do Pacote ..................................................................................................................................................................... 1446 Ftree .................................................................................................... 1448 Rotinas do Pacote ....................................................................................................................................................... 1444 Descrição do Pacote .......................................................................................

........................... 1456 Key-Down ................................................... 1455 Key-Clrrec ................................................................................................................................................................................................................................................................................................................................. 1458 Key-Others ..... 1454 When-Tree-Node-Activated ....................................................................... 1456 Key-Edit .......................................................... 1456 Key-Duprec .......................................................................................................................................................................... 1458 Mestre-Detalhe (Master-Detail) .................................... 1455 When-Window-Resized ....................................................................................................................................................................... 1459 CURSO COMPLETO00✦ LXI Para uso pessoal.. 1458 Key-Updrec ............................ 1454 When-Timer-Expired .......................................................................................................................................................................................................................................................... 1455 Key-Crerec ............................................................................................. 1458 Key-Scrup ................................................................................................ 1455 Key-Cquery ............................................................................................................................................................ 1457 Key-Next-Item .......................................................................................................................................................................................................................................................................................................................................................................................................... .................................................................................................................................. SUMÁRIO When-Tab-Page-Changed ................................................................................................................................................................................... 1456 Key-Entqry .................................................. 1459 Post-Form .................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1458 Key-F0 a F9 e Key-Enter .................................................................................................................................................................... 1455 When-Window-Deactivated ................................................. 1457 Key-Prvblk ............................................................................................. 1457 Key-Scrdown .......................................................................................................................................................................................................................................................................................... 1459 Post-Record ........................................................................................................... 1457 Key-Prvrec .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1456 Key-Listval ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1454 When-Tree-Node-Selected ............................................................................... 1459 Post-Block .... 1457 Key-Nxtkey ... 1458 On-Check-Delete-Master ........................................................................................................................................................ 1459 Post-Text-Item .............................................................................................. 1459 On-Error ...................................................... 1454 When-Tree-Node-Expanded ........................................... 1457 Key-Nxtset ......................... 1455 When-Window-Closed ................................................................................................................. 1459 Navegação (Navigational) ........................................................... 1459 On-Message ................................................................ 1458 On-Clear-Details ...................................................................................................................................................................................................................... 1455 When-Window-Activated ............................ 1455 Key-Delrec ....................... 1458 Controle de Mensagem (Message-Handling) .............................. 1457 Key-Prev-Item ..................................................... 1456 Key-Help ................................ 1456 Key-Exit ................................................................................................................. 1457 Key-Nxtblk ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1458 Key-Up .............................................................................................................................................................................................................................................................................. 1455 Key-Commit ................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................................................................................................................................................................................................................................ 1456 Key-Dup-Item ....................................................................... 1457 Key-Print ................ 1456 Key-Menu ..................... 1455 Key-Clrfrm ................................................................................................................................................................................................ 1455 Key-Clrblk .................................................... 1456 Key-Exeqry .......................................................................................................................................................................................... 1457 Key-Nxtrec ........ 1458 On-Populate-Details ......................

.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1460 When-New-Record-Instance ............................................................. 1463 Post-Delete .............................................................................................. 1464 Post-Logon ................................................ 1462 On-Fetch ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1463 On-Sequence-Number .............................................................................................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................................................................................................................................................................................................................................................................................................... 1464 Post-Logout ............................ 1462 On-Lock .................... 1460 Query-Procedure ................................................................................................................................................................................. 1464 Post-Select ............................................................................................. 1465 LXII ✦00CURSO COMPLETO Para uso pessoal.................... 1463 On-Rollback ............................................................................... 1465 When-Validate-Item ............................................................................ 1460 When-New-Form-Instance ......... 1463 On-Savepoint ........................... 1464 Post-Update ........................................................................................................................................................... 1462 On-Logon ................................................. 1459 Pre-Form .............. 1464 Pre-Logout ................................................................... 1464 Post-Insert ....................................................................................................................................................... 1465 When-Validate-Record ................................................................... 1462 On-Count ...................................................................................................... 1464 Pre-Select ....................................................................................................................................................................... 1461 Insert-Procedure .............................................................................................................................................................................................. 1463 On-Select .......................................................................................................................................................................................................................................................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Pre-Block ...................... 1461 On-Check-Unique ............................................. 1463 On-Update ....................................................................................................... 1460 Pre-Text-Item ................. 1459 Pre-Popup-Menu ............................................................ 1461 Delete-Procedure ..................................................................................................................................................................................................................................... 1465 Validação (Validation) .................................................................................................... 1462 On-Insert .................................................................................... 1465 Pre-Update .............................................................................................................................................................................................................................................................................................................................................................................................................. 1460 Pre-Query ............................................................ 1464 Pre-Logon ............................................... 1460 When-New-Block-Instance ........................................................................................................................ 1463 Post-Database-Commit ................................................................. 1460 Pre-Record ..................................................................................................................................................................................................................................... 1461 Lock-Procedure ............................................................................................................................................................................................................................... 1460 Consulta (Query-Time) ............................................................................................................................................................................. 1461 Update-Procedure .................. 1460 When-New-Item-Instance ................................................................................ 1460 Post-Query ..................................................................................................................................................................................... 1461 On-Commit ........................................................................................................................................................................................................................................... 1464 Pre-Delete ............................ 1460 Blocos de Procedimentos (Stored Procedures) .... 1464 Pre-Insert ....................................................................................................................................................... 1463 Post-Change ................................................................................................................................................. 1461 Transacional (Transactional) ........................................................................................................................................................................................................................................................... 1462 On-Delete ....................................................................................................................................................................................................................................................................................... 1461 On-Close ..................................................... 1463 Post-Forms-Commit .................................................................................................................... 1461 On-Column-Security .................................... 1464 Pre-Commit .............. 1462 On-Logout ........................................................................................................................................ ........................................................................................................................................................................................................................................................

....................... 1475 Réguas (Rulers) ........................................................................................................................................................................................................................................................................................................................................................................................................... 1473 Relatório da Lista de Objetos (Object Report List) ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1474 Limpar (Clear) ........................................................................................................................................................................................... 1472 Reverter (Revert) ..................... 1473 Inserir (Check In) ................................................................................................ 1475 Tamanho Normal (Normal Size) ............................................................................................... 1465 Post-<evento> ........................................................... 1475 Selecionar Tudo (Select All) .................. 1472 Salvar (Save) ............................................................................................................................................. 1472 Abrir (Open) ......................................................................................................... 1473 Deletar (Delete) .............................................................................. 1474 Duplicar (Duplicate) ............................... 1474 Recortar (Cut) ....................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1474 Sair (Quit) ........................ 1474 SmartClasses ......... 1474 Imprimir (Print) ............................................................................................................................................................................. 1475 Ampliar (Zoom In) ....................................................................................................... ............................................................................................................................................................. 1467 When-<evento> ............................................................................................................................................................................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.............................. 1466 Pre-<evento> ................................................................................ 1473 Conectar (Connect) ................................................................................................. 1474 Desfazer (Undo) ........................... 1465 On-<evento> ............................................................................................. 1475 Menu Exibir (View) – Layout ....................................................................................................................................................... 1475 Guias de Régua (Ruler Guides) ............................................................................................................................................................................. 1471 Menu Arquivo (File) ............................................................. 1473 Desconectar (Disconnect) ........................................................................................................................................................................................... 1473 Converter (Convert) ................................................................................................. 1473 Compilar Arquivo (File Compile) ....................................................................................................................................................................................... 1476 CURSO COMPLETO00✦ LXIII Para uso pessoal.............................. 1474 Opções de Controle de Origem (Source Control Options) ................................................................ 1473 Renomear (Rename) .......................................................... 1473 Retirar (Check Out) ........................................................................................................................................................................................................................................................................................................................................................................................................................................ 1474 Menu Editar (Edit) .......................... SUMÁRIO Classificação por Prefixo ...................................................... 1475 Mostrar Apenas PL/SQL (Only Show PL/SQL) ................................................................ 1475 View de Propriedade (Ownership View) ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1473 Administração (Administration) .................................................................................. 1472 Novo (New) ....................................................................................................................................................................................................................................... 1467 Key-* ....... 1468 CAPÍTULO 17 – OS MENUS DO FORMS ............................................................................. 1472 Salvar Como (Save As) .............. 1475 Ajustar à Janela (Fit to Window) ............... 1474 Copiar (Copy) ................................................................................................................................................................................. 1474 Colar (Paste) ........... 1473 Acesso ao Módulo (Module Access) ............ 1472 Exportar (Export) ................................... 1475 Reduzir (Zoom Out) ........... 1472 Fechar (Close) ............................................................................................. 1472 Importar (Import) ............................................................................................ 1475 View Visual (Visual View) .......................................................................................................... 1472 Salvar Tudo (Save All) .................................................................................................................................................................................................................................... 1474 Configurar Página (Page Setup) ......................................................................................................................... 1475 Menu Exibir (View) – Navegador ..............................

......................................................................................................................... 1480 Selecionar Pai (Select Parent) ................................................................................................................................................................................................................................................................................................................................. 1479 Dimensionar Objetos (Size Objects) .................................................................... 1480 Adicionar no Grupo (Add to Group) ....................................................................................................................................................................................................................................................................................... 1480 Selecionar Filhos (Select Childrens) ............................................................................................................................................................ 1476 Mostrar Canvas (Show Canvas) ......................................................................................................... 1480 Desagrupar (Ungroup) .................................................................................................................... 1479 Atualizar Layout (Update Layout) ........... 1476 Alinhar à Grade (Snap to Grid) ............... 1479 Mover Para Frente (Move Forward) ...................................................................................... 1476 Expandir (Expand) .................................................................................................................................................................................................................................................................................................................................................................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.................................... 1479 Repetir Alinhamento (Repeat Alignment) .... 1477 Menu Formato (Format) .......... 1476 Views Sobrepostas (Stacked Views) ............................. 1477 Largura da Linha (Line Width) ......................................................................................................................................................................................... 1478 Borda (Border) .................... 1479 Trazer Para Frente (Bring to Front) ..................... 1477 Adicionar Marcador (Add Bookmark) .................................................................................................................................................................. 1480 Remover do Grupo (Remove from Group) ........................................................................................................................................................................................................................................................................................................... .......................................................................................... 1478 Imagem (Image) ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1477 Criar (Create) ....................................................................................... 1476 Paleta de Ferramentas (Tool Palette) ................... 1479 Alinhar Objetos (Align Objects) ....... 1479 Menu Organizar (Arrange) ................................................................................ 1479 Enviar Para Trás (Send to Back) ................................. 1477 Colar Argumentos (Paste Arguments) ............................ 1476 Barra de Status (Status Bar) ............................................................................................... 1477 Justificar (Justify) ......................................................................................................................................... 1480 Agrupar (Group) ................. 1480 LXIV ✦00CURSO COMPLETO Para uso pessoal..... 1478 Opções de Layout (Layout Options) ...................................................................................................................................................................................................................................................................................................................... 1477 Espaçamento de Texto (Text Spacing) . 1479 Prompt Associado (Associate Prompt) ........................................................................................................................... 1479 Repetir Dimensionamento (Repeat Sizing) ................................................................................................................................................................ 1476 Recolher (Collapse) ...................... 1479 Mover Para Trás (Move Backward) ... 1478 Bevel ................................................................................................................................................................................................................................................... 1480 Agrupar Operações (Group Operations) .............................................................................................................. 1478 Opções de Gráficos (Graphics Options) ....................................................................................................................................................................................... 1478 Retângulo Arredondado (Rounded Rectangle) ....................................... 1476 Menu Navegador (Navigator) .............. 1476 Recolher Tudo (Collapse All) ............................................................................................................................................................................................................................................................................. 1478 Traço (Dash) .............................................................................................................................................................................................................. 1478 Reduzir Resolução da Imagem (Reduce Image Resolution) ...... 1478 Arco (Arc) .......................................... 1478 Texto (Text) ................... 1476 Mostrar View (Show View) ................... 1478 Seta (Arrow) ............................................................................................................................................................................................................................................................................................................................ 1477 Deletar (Delete) ........................................................ 1477 Colar Nome (Paste Name) .........................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Grade (Grid) ......... 1477 Fonte (Font) .......................................................................................................................................................................................................................................................... 1476 Expandir Tudo (Expand All) ............................................................................................................................................................................................................................................................................................................ 1478 Geral (General) ..................... 1477 Ir Para Marcador (GoTo Bookmark) ....

...................................... 1484 CAPÍTULO 18 – PROPRIEDADES DO REPORTS .................................................................................................................................... 1482 Deletar (Delete) .................................................................................................................... 1483 Tópicos da Ajuda do Form Builder (Form Builder Help Topics) .................................... 1482 Biblioteca de Objetos (Object Library) .................................................................................................................................................. 1482 Report Builder ...................................................................................................................... 1483 Quick Tour .................................... 1483 Próxima Ocorrência (Next Instance) ........................................................................................................................ 1482 Preferências (Preferences) ............................................................ 1482 Editor de Layout (Layout Editor) ........................................................................................................................................................... 1480 Depurar (Debug) ........................................................................ 1482 Criar à Direita (Create Right) ............................................................................................................................................................. 1486 CURSO COMPLETO00✦ LXV Para uso pessoal....................................................................... 1481 Assistente de Layout (Layout Wizard) ............................................................................. 1481 Editor PL/SQL (PL/SQL Editor) ....................................................................... 1486 Nome do Objeto-Filho (Child Object Name) ............................................................. 1480 Cliente/Servidor (Client/Server) ............................................................................................................................. 1486 Tipo de Limite-Filho (Child Edge Type) ............................................................................................................................................................................................................................................................................ 1486 Percentual de Limite-Pai (Parent Edge Percent) ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1483 Alternar Orientação (Switch Orientation) ................................................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.............................. 1486 Percentual de Limite-Filho (Child Edge Percent) .............. 1483 Manuais (Manuals) ............................................................................................................................................................................................................ 1483 Expandir (Expand) ......................................................................................................... 1481 Compilar Seleção (Compile Selection)............................................................................................. 1486 Fechar Horizontalmente (Collapse Horizontally) ........................................................................................................ 1481 Editor Externo (External Editor) .............................................................. 1483 Cue Cards ...................... 1481 Assistente de Gráfico (Chart Wizard) ........................................................................................................ 1480 Web (Web) ................................................................................ 1481 Importar Classes Java (Import Java Classes) .................................................. 1485 Âncora (Anchor) .......................... 1483 Expandir Tudo (Expand All) ... 1481 Gatilhos Inteligentes (Smart Triggers) ................................................................ SUMÁRIO Menu Programa (Program) ..................... 1482 Navegador de Objetos (Object Navigator) .......................................................................................................................................... 1481 Paleta de Sintaxe (Syntax Palette) ............................................................... 1482 Paleta de Propriedades (Property Palette) .. 1480 Compilar (Compile) ............................................................ 1482 Criar Abaixo (Create Down) .................................................................................. 1486 Nome do Objeto-Pai (Parent Object Name) ........................... 1480 Executar Form (Run Form) ..................... 1484 Sobre o Form Builder (About Form Builder) ............ 1486 Grupo Âncora (Anchor) .......................................................................................................................... 1481 Localizar e Substituir PL/SQL (Find and Replace PL/SQL) ......................................................................................................................................................................................................................................................................................................................................... .......................................................................................................... 1483 Menu Ajuda (Help) ....................................................................................................... 1483 Recolher (Collapse) ....................................................................................................................................................................................................................................................... 1482 Menu (Menu) ..... 1481 Assistente de Bloco de Dados (Data Block Wizard) ......................................................................................................................... 1482 Assistente de Lov (Lov Wizard) ............................................................................................................................................................................................................................................................................................................................... 1481 Menu Ferramentas (Tools) .................................................................................................................................. 1486 Tipo de Limite-Pai (Parent Edge Type) ................... 1483 Recolher Tudo (Collapse All) ............................................................................. 1481 Importar Interfaces de Biblioteca OLE (Import OLE Library Interface) ............................................................................................................................................ 1482 Editor de Menu (Menu Editor) ..............................................................................................................................................

................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1488 Linha de Comandos da Aplicação (PDF) .................................................................................................................................................................................................................................................................................................................................................... .. 1490 Comentários (Comments) ............................................................................................................................................................................................................................................................................................................................ 1487 Tipo (Type) ..... 1487 Destino de Hiperligação (Hyperlink Destination) . 1490 Nome (Name) .................................................................................................................................................................... 1488 Quebra de Página Anterior (Page Break Before) ................................................................................................ 1491 Texto (Text) .................................................. 1488 Nome de Exibição (HTML) ..................... 1491 Informações Gerais (General Information) ........................................ 1491 Tipo (Type) .......................... 1489 Mínimo de Linhas Viúvas (Minimum Widow Lines) .................................................. 1487 Nome do Arquivo de Origem (Source Filename) ................................ 1491 Nome do Ícone (Icon Name) ................................ 1487 Marcador (Bookmark) .......................................................................................... 1488 Contém Tags HTML (Contains HTML Tags) ....................................................................................................................................................................................................................................... 1491 Nome (Name) ... 1487 Configurações de Web (Web Configuration) ......................... 1491 Label do Botão (Button Label) .......................................... 1490 Manter com Objeto de Ancoragem (Keep With Anchoring Object) .......................................................................................................................................................(Application Command Line (PDF)) ........................................................................................................................................................................... 1489 Impressão de Objeto Ativada (Print Object On) ...................................................................................................................................................................................................................................................................................... 1488 Quebra de Página Posterior (Page Break After) ............... 1491 Tipo de Etiqueta (Label Type) ...................... 1490 Código da Impressora Anterior (Printer Code Before) ................................................................................................. 1489 Impressão de Base Ativada (Base Printing On) ......................................................................................................................................................................................................................... 1491 Comentários (Comments) ......................................................................................................... 1489 Elasticidade Vertical (Vertical Elasticity) ........................................................ 1491 Arquivo Multimídia (Multimedia File) .............................................. 1490 Gatilho de Formato (Format Trigger) ......................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Fechar Verticalmente (Collapse Vertically) ............................................................................................................................................. 1491 Botão (Button) ...... 1492 Coluna Multimídia (Multimedia Column) .............................................................................................. 1487 Formato do Arquivo de Origem (Source File Format) .. 1491 Comportamento do Botão (Button Behavior) ...................................................................................... 1490 Boilerplate da Tela de Parâmetros (Parameter Form Boilerplate) ................... 1487 Extensão da Linha com Quadro (Line Stretch With Frame) ................................................................................................................................................. 1488 Layout Geral (General Layout) .................................................................................................................................................................................................................. 1486 Texto Padronizado (Boilerplate) ............................................................ 1487 Comentários (Comments) .......................................... 1490 Código da Impressora Posterior (Printer Code After) ............. 1487 Texto Padronizado (Boilerplate)/Texto Padronizado do Arquivo de Vínculo (Link File) ............................................................................................................................................................................................................................. 1489 Elasticidade Horizontal (Horizontal Elasticity) ........................................................................................................................................................................... 1490 Texto Padronizado do Form de Parâmetros (Form Parameter Boilerplate) ....................................................................................................... 1489 Formatação Condicional (Conditional Formatting) ..................... 1491 Configurações de Web (Web Configuration) .....................................................................(Display Name) ........................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.... 1488 Hiperligação (Hyperlink) ......................................................... 1488 Proteção de Página (Page Protect) ... 1491 Contém Tags HTML (Contains HTML Tags) ....................................................................................................................................................................................................... 1492 LXVI ✦00CURSO COMPLETO Para uso pessoal...... 1487 Nome (Name) ................................ 1489 Layout Avançado (Advanced Layout) ......................................................................................................... 1491 Tipo (Type) .. 1492 Tipo de Arquivo Multimídia (Multimedia File Type) .................................................................................................................................................. 1487 Informações Gerais (General Information) ....................................... 1490 Informações Gerais (General Information) ...........

...................................................................... 1497 Layout Geral (General Layout) ............ 1493 Proteção de Página (Page Protect) ........................................................................................................................... 1494 Código da Impressora Anterior (Printer Code Before) ................................................................................................................................................................................................................................................................... 1495 Visível (Visible) .............................................................................................................................................................................................. 1492 Configurações de Web (Web Configuration) ............................................................................................................................................................................................................................................................................................................. 1495 Coluna (Column) .............................................................................. 1497 Hiperligação (Hyperlink) ............ 1495 Máscara de Formato (Format Mask) ...... 1494 Campo (Field) .................................................................................................................................................................................. 1497 Contém Tags HTML (Contains HTML Tags) .................................................................................................................................................................................................................................................................... 1496 Função (Function) ............(Application Command Line (PDF)) .................................. 1497 Marcador (Bookmark) ................................................................................................................................................................................................................................................................................................................................................................... 1493 Formatação Condicional (Conditional Formatting) ... 1497 Linha de Comandos da Aplicação (PDF) ............................................................... 1495 Numeração de Página (Page Numbering) .... 1496 Reiniciar (Reset At) ....................................................................................... 1494 Manter com Objeto de Ancoragem (Keep With Anchoring Object) ................................................................................. SUMÁRIO Tipo de Coluna Multimídia (Multimedia Column Type) ........................................................................................... 1494 Informações Gerais (General Information) ................................................................................................................................................. 1496 Ler do Arquivo (Read From File) ................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1493 Quebra de Página Anterior (Page Break Before) ............ 1492 Hiperligação (Hyperlink) .............................................................................. 1495 Tipo de Coluna (Column Type) .......................................................................................................... 1492 Gatilho PL/SQL (PL/SQL Trigger) ........ 1495 Ordem de Quebra (Break Order) .................... 1492 Destino de Hiperligação (Hyperlink Destination) .................................................................................................................................................................................................... 1493 Layout Geral (General Layout) .................... 1494 Origem (Source) .....................................................................................(Application Command Line (PDF)) ................................................................................................................................... 1497 Destino de Hiperligação (Hyperlink Destination) ............................................................................. 1494 Código da Impressora Posterior (Printer Code After) ............................................................................... 1497 Computar (Compute At) ............................................................................................................................. 1495 Valor se Nulo (Value If Null) ....................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos................................................................................................................................................................................................................ 1496 Sumário (Summary) ........................................................ 1493 Layout Avançado (Advanced Layout) ...................................................................................................................... 1492 Marcador (Bookmark) ....... 1493 Quebra de Página Posterior (Page Break After) .............................................................................................................. 1494 Gatilho de Formato (Format Trigger) .................................. 1494 Comentários (Comments) ............ ................................................................................................................. 1496 Marcador de Lugar/Fórmula (PlaceHolder/Formula) ...................................................................................... 1497 Configurações de Web (Web Configuration) ............ 1494 Campo (Field) ........................................................................................................................ 1498 CURSO COMPLETO00✦ LXVII Para uso pessoal.................................................................................................................. 1498 Quebra de Página Anterior (Page Break Before) ....... 1494 Nome (Name) ................................................................................................................................................................................................. 1496 Formato de Arquivo (File Format) ........................................................................................................................ 1496 Fórmula PL/SQL (PL/SQL Formula) .......................................................................................................................... 1495 Largura (Width) .................................. 1493 Impressão de Base Ativada (Base Printing On) ..... 1496 Origem (Source) ............ 1492 Linha de Comandos da Aplicação (PDF) .................................................................................................................. 1494 Tipo de Dados de Origem (Source Datatype) ..................................................................... 1495 Tipo de Dados (Datatype) ............ 1493 Impressão de Objeto Ativada (Print Object On) ........ 1498 Quebra de Página Posterior (Page Break After) .............

.............................................. 1502 Nome (Name) .................................................................................... 1503 LXVIII ✦00CURSO COMPLETO Para uso pessoal.........ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Proteção de Página (Page Protect) .............................................................................................. 1501 Coluna (Column) ............................................................................... 1499 Código da Impressora Posterior (Printer Code After) .................................................................. 1501 Informações Gerais (General Information) ........ 1502 Tipo de Dados (Datatype) . 1500 Tipo de Dados (Datatype) ............................................................................................................................................................................................................... 1501 Comentários (Comments) ................ 1501 Tipo de Coluna (Column Type) .......................... 1498 Formatação Condicional (Conditional Formatting) ................................ 1500 Parâmetro (Parameter) .............................................................................................................. 1500 Largura (Width) .................................................................................................................................................................................................................................................................................................................. 1500 Origem (Source) .................. 1499 Impressão de Objeto Ativada (Print Object On) ..................................................................................................... 1502 Tipo de Coluna (Column Type) .......................................................................................................................................................................................................................................................................................................................................................... 1501 Valor se Nulo (Value If Null) ......................................... ..................................................... 1501 Formato de Arquivo (File Format) .................................................................................. 1500 Campo do Form de Parâmetros (Parameter Form Field) ...... 1502 Contém Tags XML (Contains XML Tags) ......................................... 1501 Ler do Arquivo (Read From File) ......................................................................................................................... 1501 Atributos de Tag XML (XML Attribute Tag) ........................................ 1500 Comentários (Comments) ............... 1498 Elasticidade Horizontal (Horizontal Elasticity) ............. 1502 Excluir de Saída XML (Exclude from XML Output) .................................................. 1501 Definições XML (XML Definitions) ..................................................................................................... 1500 Gatilho de Validação (Validation Trigger) .............................................................................................. 1499 Campo da Tela de Parâmetros (Parameter Form Field) ................................................................................................................. 1502 Coluna (Column) ...................................................................................................................................................... 1499 Impressão de Base Ativada (Base Printing On) ................................................................................................................................................................................................................................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..................................... 1498 Mínimo de Linhas Viúvas (Minimum Widow Lines) .................................................................................................................................................... 1499 Código da Impressora Anterior (Printer Code Before) ......................................................................................................................................................................................................... 1502 Largura (Width) ..................................................................................................................................................................................................... 1502 Coluna de Fórmula (Formula Column) ............................................................................................................................................................................. 1502 Fórmula PL/SQL (PL/SQL Formula) ...................................................... 1502 Marcador de Lugar/Fórmula (PlaceHolder/Formula) ............................................................................................................................................................... 1502 Informações Gerais (General Information) .......................................................................................... 1498 Layout Avançado (Advanced Layout) ......................................................................................... 1500 Informações Gerais (General Information) ....... 1499 Gatilho de Formato (Format Trigger) ... 1502 Comentários (Comments) .............................. 1499 Manter com Objeto de Ancoragem (Keep With Anchoring Object) ............................................................................................................................................................................................................................................................................................................................................................................................................................................ 1501 Largura (Width) ....................................................................................................... 1500 Atributos Adicionais (HTML) (Additional Attributes (HTML)) ................................................... 1501 Tipo de Dados (Datatype) ................................ 1498 Elasticidade Vertical (Vertical Elasticity) ....................................................................... 1500 Máscara de Entrada (Input Mask) ............................................................................... 1501 Tag XML (XML Tag) ............................................................................... 1500 Valor Inicial (Initial Value) ................................................................................ 1500 Configurações de Web (Web Configuration) ........... 1503 Valor se Nulo (Value If Null) ............................................................................... 1500 Coluna de Espaço Reservado (Placeholder) .................................................................................................................................................................................................................................................................................. 1501 Nome (Name) ................................................................................................................................................................................................................................. 1500 Nome (Name) ..................................................................................................................................................................................................................................

................ 1506 Comentários (Comments) ............................................................................................................................................................................................................................................................................................. 1505 Função (Function) ........ 1507 Ordem de Quebra (Break Order) ........................ 1503 Formato de Arquivo (File Format) ......................................................................................... 1507 Formato de Arquivo (File Format) ............................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..................................................................................... 1506 Contém Tags XML (Contains XML Tags) ............. 1506 Coluna (Column) .................................................... 1505 Definições XML (XML Definitions) .......................... 1507 Contém Tags XML (Contains XML Tags) .. 1504 Formato de Arquivo (File Format) ............................................................................................................................................................................................................................................................................................................................................................................................................................... 1506 Tipo de Coluna (Column Type) ...................................................... 1503 Definições XML (XML Definitions) ............................................................................................................................................................................. 1505 Reiniciar (Reset At) ..................................................................................... 1504 Coluna de Resumo (Summary Column) ............................................................. 1503 Tag XML (XML Tag) ............................................................................................................................................................................................. 1507 Consulta (Query) ......................................................................... 1504 Informações Gerais (General Information) .................................................................................................. 1503 Excluir de Saída XML (Exclude from XML Output) .................... ............. 1505 Computar (Compute At) .................................................................................................................................................................................................................................................................................... 1508 Comentários (Comments) ..................................................................................................... 1504 Nome (Name) .................. 1508 CURSO COMPLETO00✦ LXIX Para uso pessoal........................................... 1506 Tipo de Dado (Datatype) ............................................................................................................................. SUMÁRIO Ordem de Quebra (Break Order) ................................................... 1504 Valor se Nulo (Value If Null) ......... 1505 Sumário (Summary) ........................................................................................................................................................................... 1507 Tag XML (XML Tag) ................................. 1506 Largura (Width) ........................................................................................................................................... 1507 Excluir de Saída XML (Exclude from XML Output) ............................................................................................................................................... 1503 Atributos de Tag XML (XML Attribute Tag) ........................ 1503 Fórmula PL/SQL (PL/SQL Formula) ............................................................................................................................................................... 1505 Origem (Source) .......................... 1506 Nome (Name) .......................................................................................... 1504 Contém Tags XML (Contains XML Tags) ......................................................... 1506 Excluir de Saída XML (Exclude from XML Output) ........................ 1506 Informações Gerais (General Information) ...................................................... 1503 Marcador de Lugar/Fórmula (PlaceHolder/Formula) ....................................................... 1504 Comentários (Comments) ............................................................................................................................................................................................................................................... 1504 Largura (Width) ....................................................................................................................................................................................................................................................................................................................................... 1508 Nome (Name) ....................................................................................................................................... 1507 Definições XML (XML Definitions) ................................................................................................................................................................... 1504 Tipo de Coluna (Column Type) ........................................................................................................................................................................................................................................................................................................................ 1507 Atributos de Tag XML (XML Attribute Tag) ....................................................................................................................................................................................................... 1506 Coluna do Banco de Dados (Database Column) .......................... 1504 Ler do Arquivo (Read From File) ...................................................... 1504 Coluna (Column) .................................................................................................................................................................... 1507 Ler do Arquivo (Read From File) ................................................................................................................................................................................................................... 1508 Consulta (Query) ....................... 1508 Informações Gerais (General Information) .......................................................................................................................................................................................................................................................... 1504 Tipo de Dado (Datatype) ............................................................................................................................................................................................................................................................................................................................................................................................... 1506 Valor se Nulo (Value If Null) .................. 1505 Tag XML (XML Tag) ........................ 1505 Atributos de Tag XML (XML Attribute Tag) ................................... 1503 Ler do Arquivo (Read From File) ...............................................

........................................................................................ 1512 Excluir de Saída XML (Exclude from XML Output) .... 1511 Grupo (Group) ..................................................................... 1511 Código da Impressora Posterior (Printer Code After) ............................................................................................................................................................................... 1508 Arquivo de Origem de Consulta Externo (External Query Source File) ......................................................................................... 1512 Número de Registros (Number of Records) ............................................................................................................................................................... 1508 Máximo de Linhas a Obter (Maximum Rows to Fetch) ..................................................................................................................................................................................................................................................................................................................... 1513 Consulta-Filha (Child Query) .......................................................................... 1508 Nome do Arquivo de Gráfico (Chart Filename) .............................................................................. .................................................................................................................. 1508 Parâmetros e Colunas (Parameters and Columns) ....................................................... 1511 Informações Gerais (General Information) ....................... 1511 Manter com Objeto de Ancoragem (Keep With Anchoring Object) .............................................. 1508 Informações Gerais (General Information) ......................................... 1509 Configurações de Web (Web Configuration) ...................................................................................................................... 1511 Gatilho de Formato (Format Trigger) .................................................................................................................................................................................................................................................................................................................................................................................... 1509 Nome de Exibição (Display Name) ........................... 1513 Coluna-Pai (Parent Column) .............................. 1512 Tag XML Externa (Outer XML Tag) ................................................................................................................................................................................................................................................. 1512 Grupo (Group) ........................................................................................................................................................................................................................................................................................................................ 1508 Gráfico (Chart) ............................................................................................................................................................. 1508 Instrução de Consulta SQL (SQL Query Statement) ........................................................... 1509 Hiperligação de Gráfico (Chart HyperLink) ................................................................................ 1511 Nome (Name) ......................................... 1509 Destino de Hiperligação (Hyperlink Destination) .......................................................................................................................................... 1513 Condição (Condition) .. 1511 Comentários (Comments) ............................................................................ 1513 Grupo-Pai (Parent Group) .................... 1509 Linha de Comandos da Aplicação (PDF) – (Application Command Line (PDF)) ............................................ 1512 Atributos de Tag XML (XML Attribute Tag) .......................................................................................................................................................................... 1512 Tipo de Filtro (Filter Type) ......................................................................................................................................................... 1512 Tag XML (XML Tag) ................................................................................................................................................................................................................................................................................................................................................ 1510 Impressão de Base Ativada (Base Printing On) .......................................... 1508 Nome (Name) ....................................................................................................................................................... 1510 Layout Avançado (Advanced Layout) . 1512 Filtro PL/SQL (PL/SQL Filter) ................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.......................... 1513 LXX ✦00CURSO COMPLETO Para uso pessoal........................................................... 1510 Formatação Condicional (Conditional Formatting) ........ 1510 Quebra de Página Anterior (Page Break Before) ........................................................ 1513 Ligação de Dados (Link) ............................................................ 1511 Código da Impressora Anterior (Printer Code Before) .................... 1513 Coluna-Filha (Child Column) ................................... 1510 Proteção de Página (Page Protect) ......................... 1513 Cláusula SQL (SQL Clause) ........................... 1508 Comentários (Comments) ......................... 1508 Gráfico (Chart) ................. 1510 Elasticidade Vertical (Vertical Elasticity) ........................................................................................... 1509 Layout Geral (General Layout) ............................................................................................................................................................................................................................................................................... 1509 Hiperligação (Hyperlink) ......................................................................................................... 1512 Atributos XML Externos (Outer XML Attributes) .......................................................................... 1510 Quebra de Página Posterior (Page Break After) ...................................................................................................................................................................................................................................................... 1509 Marcador (Bookmark) ..................................................................... 1510 Impressão de Objeto Ativada (Print Object On) ...............................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Tipo (Type) ............................................................................................................................................. 1510 Elasticidade Horizontal (Horizontal Elasticity) ............................................................................................................... 1512 Definições XML (XML Definitions) ...................................................................

...................................................................................................................... 1517 Antes do Valor da Página (Before Page Value) .... 1519 Valor de Prólogo XML (XML Prolog Value) .... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........ 1514 Grupo de Produto Cruzado (Cross Product Group) ............. 1515 Direção (Direction) .................................................... 1515 Nome (Name) ...................................................................... de Páginas de Corpo Verticais (Maximum Vertical Body Pages) .................................................(Application Command Line – (PDF)) .......................................... 1515 Relatório (Report) ................ 1516 Número de Páginas (Number of Pages) ............................... 1516 Altura (Height) ........................ 1517 Depois do Valor do Relatório (After Report Value) ............................................................................................... 1519 Projetar em Unidades de Caractere (Design in Character Units) .................................................................................................................................................................................................................... 1517 Antes do Tipo de Form (Before Form Type) ...................... 1517 Depois do Valor da Página (After Page Value) ............................................................................................. 1515 Ordem de Impressão do Painel (Panel Print Order) ................... SUMÁRIO Matriz (Matrix) ....................................................... 1514 Configurações de Web (Web Configuration) .................................................................................................................................................................................................................................................................................... 1516 Largura (Width) . 1518 Depois do Valor do Form (After Form Value) .. 1515 Módulo Relatório (Report) ...................................................................................... 1513 Comentários (Comments) ..................................... 1516 Distribuição (Distribution) ................................................................ 1516 Escapes de Relatório (Report Escapes) ............................ 1518 Tag XML (XML Tag) ................................................................................................................ 1518 Definições XML (XML Definitions) ..................................................................................................................... 1517 Depois do Tipo de Página (After Page Type) ................................................................................. 1515 Máx.......................................................................................................................................................................................................................................................................................................... 1513 Nome (Name) ........................ 1519 Modo Caractere (Character Mode) .......................................................................................................................................... 1517 Antes do Tipo de Página (Before Page Type) ...................................................................... ................. 1515 Unidade de Medida (Unit of Measurement) .................................................................................................... 1516 Janela de Form de Parâmetros (Parameter Form Window) ......................................................... de Páginas de Corpo Horizontais (Maximum Horizontal Body Pages)...................................................... 1516 Nome da Função (Role Name) ............................ 1514 Hiperligação (Hyperlink) ................................................................................................ 1514 Matriz (Matrix) ..................................................................................................................................................................................................................................................................................... 1519 CURSO COMPLETO00✦ LXXI Para uso pessoal......................................................................................................................................................................................................................................................................................................................................................................................................................................... 1518 Atributos de Tag XML (XML Attribute Tag) ....................................... 1515 Informações Gerais (General Information) ......................................................................... 1514 Linha de Comandos da Aplicação (PDF) ............................................ 1517 Antes do Tipo de Relatório (Before Report Type) ............................................................. 1518 Tipo de Controle de Página de Navegação (Page Navigation Control Type) .................................................................................................. 1514 Marcador (Bookmark) .......................................... 1515 Comentários (Comments) .................................................................. 1517 Depois do Tipo de Relatório (After Report Type) ................................................................ 1514 Quadro de Repetição Vertical (Vertical Repeating Frame)......................................................................................................................................................................................................................................................................................................................................................... 1513 Informações Gerais (General Information) ................................................................................................... 1518 Antes do Valor do Form (Before Form Value) ...................................................................... 1516 Título do Previsualizador (Preview Title) ............................................... 1519 Usar Linha de Dicas do Previsualizador (Use Previewer Hint Line) ................................................ 1514 Quadro de Repetição Horizontal (Horizontal Repeating Frame) ........ 1514 Destino de Hiperligação (Hyperlink Destination) .......................................................................... 1518 Valor de Controle da Página de Navegação (Page Navigation Control Value) .............................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1515 Máx.......... 1518 Depois do Tipo de Form (After Form Type) ...................................................................................... 1518 Tipo de Prólogo XML (XML Prolog Type) ........................................................ 1517 Antes do Valor do Relatório (Before Report Value) ...................................................

.......................................................................................................................................................................................................... 1524 LXXII ✦00CURSO COMPLETO Para uso pessoal........................................................................................................ 1523 Quadro (Frame) .................................................................................................. 1520 Objeto OLE2 (OLE2 Object) ......................................................................................................................................................... 1524 Layout Geral (General Layout) ................................................................................................................................................................................................................................................................... 1524 Marcador(Bookmark) .................................................................................................. 1520 Comentários (Comments) ............................................................................... 1521 Elasticidade Vertical (Vertical Elasticity) ..... 1522 Código da Impressora Posterior (Printer Code After) .......................................... 1521 Proteção de Página (Page Protect) ............................................................................... ...................... 1524 Destino de Hiperligação (Hyperlink Destination) .......................... 1519 Desativar Tecla de Tela Dividida (Disable Split Screen Key) ................................................................................................................................... 1521 Elasticidade Horizontal (Horizontal Elasticity) ......................................................................................................................................................................................................................................................................................... 1523 Nome (Name) ............... 1523 Comentários (Comments) .. 1523 Valor Inicial (Initial Value) ..................... 1522 Código da Impressora Anterior (Printer Code Before) ....................... 1519 Iniciar no Zoom (Start in Zoom) ............................................ 1522 Impressão de Base Ativada (Base Printing On) ................................................................. 1523 Largura (Width) ............................................. 1524 Configurações de Web (Web Configuration) ............ 1524 Hiperligação (Hyperlink) ....................................................................................... 1524 Linha de Comandos da Aplicação (PDF) ................................ 1521 Quebra de Página Posterior (Page Break After) .............................. 1520 Informações Gerais (General Information) ........................... 1522 Impressão de Objeto Ativada (Print Object On) .................................................. 1520 Configurações de Web (Web Configuration) ................................................................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos........................ 1521 Layout Geral (General Layout) ................................................................................................ 1520 Nome (Name) ..................................................................................... 1522 Manter com Objeto de Ancoragem (Keep With Anchoring Object) .................................................................................................................................................................................................................................................................................................................... 1521 Formatação Condicional (Conditional Formatting) ................. 1520 Linha de Comandos da Aplicação (PDF) ........... 1522 Gatilho de Formato (Format Trigger) ..................................................................... 1520 Marcador (Bookmark) .......................... 1522 Parâmetro (Parameter) ............................................................. 1519 Incluir Objetos de Bitmap (Include Bitmapped Objects) ....................................................................................................................................................................................... 1523 Parâmetro (Parameter) .............................................................................................. 1523 Lista de Valores (List of Values) ................................................................................................................................... 1523 Nome (Name) ........................................................................................................................................................................................................................................ 1524 Quebra de Página Anterior (Page Break Before) ........ 1520 Hiperligação (Hyperlink) ................... 1519 Incluir Bordas (Include Borders) .......................................................(Application Command Line (PDF)) ................ 1520 Suprimir Título do Previsualizador (Suppress Previewer Title) .........................................................................................................................................................(Application Command Line (PDF)) ............................................................................................................................................................................................................................................................................. 1523 Informações Gerais (General Information) ..................................................................................................... 1523 Tipo de Dados (Datatype) ................................................................................................................... 1523 Informações Gerais (General Information) ........................................................................................................................................................................................... 1519 Desativar Item de Menu do Host (Disable Host Menu Item) ............................................................................................................................................................................................................ 1519 Desativar Tecla de Zoom (Disable Zoom Key) .......................................................................................................... 1523 Gatilho de Validação (Validation Trigger) ......................................................................................................................................................... 1523 Comentários (Comments) ............................................ 1523 Máscara de Entrada (Input Mask) .............................................................................................................................................................. 1521 Quebra de Página Anterior (Page Break Before) ................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Usar Linha de Status do Previsualizador (Use Previewer Status Line) ............................................................................................. 1520 Destino de Hiperligação (Hyperlink Destination) ................... 1521 Layout Avançado (Advanced Layout) ................................................

................................................... 1529 Layout Avançado (Advanced Layout) ............................................................. 1526 Código da Impressora Posterior (Printer Code After) ....................................................................... Space Between Frames) .................................................................... 1525 Impressão de Objeto Ativada (Print Object On) ............................................................................................... 1524 Proteção de Página (Page Protect) ..................... 1527 Mínimo de Registros Viúvos (Minimum Widow Records) ....................................................... 1526 Quadro de Repetição (Repeating Frame) ................................................................................................................................................................ 1529 Elasticidade Horizontal (Horizontal Elasticity) ....... Entre Quadros (Horiz..................................................................................................... 1529 Elasticidade Vertical (Vertical Elasticity) ................................................................................................................................................................................ 1527 Modo de Coluna (Column Mode) .................................................................................................................................................................................................................................................................. 1525 Formatação Condicional (Conditional Formatting) ........... 1526 Gatilho de Formato (Format Trigger) ................................ Entre Quadros (Vert................................................. SUMÁRIO Quebra de Página Posterior (Page Break After) ....................................................................................................... 1526 Comentários (Comments) ..................... 1526 Nome (Name) ............................ 1526 Direção de Impressão (Print Direction) .............................................................................................. 1527 Tipo de Filtro (Filter Type) ............................................ 1530 CURSO COMPLETO00✦ LXXIII Para uso pessoal................................................ 1526 Origem (Source) ............................................................................................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos...................................................................... 1529 Impressão de Base Ativada (Base Printing On) ................................................ 1529 Formatação Condicional (Conditional Formatting) ..................................................................................................... 1528 Quebra de Página Posterior (Page Break After) ........................................................... 1525 Elasticidade Vertical (Vertical Elasticity) ........................... 1527 Filtro PL/SQL (PL/SQL Filter) .................................................... 1529 Impressão de Objeto Ativada (Print Object On) ................................................................ 1530 Código da Impressora Anterior (Printer Code Before) ...................... 1530 Seção (Section) ................................................ 1525 Layout Avançado (Advanced Layout) . 1527 Espaçamento Vert............................................................................................................................................................................................................................................. Space Between Frames) .................................................................................................................................................. 1526 Código da Impressora Anterior (Printer Code Before) ...................................................................................................................................................................................... 1528 Linha de Comandos da Aplicação (PDF) – (Application Command Line (PDF)) ............................................................................................................................................................................................................................................................................................................ 1528 Hiperligação (Hyperlink) .............................. 1530 Manter com Objeto de Ancoragem (Keep With Anchoring Object) ....................................................................................................................... 1526 Quadro de Repetição (Repeating Frame) .......... 1528 Proteção de Página (Page Protect) ........... 1528 Marcador (Bookmark) .............................. 1530 Gatilho de Formato (Format Trigger) .................................... 1530 Código da Impressora Posterior (Printer Code After) ............. 1530 Altura (Height) ......................................................... 1527 Número de Registros (Number of Records) ........................ 1527 Espaçamento Horiz............................. 1530 Seção (Section) ................. 1528 Layout Geral (General Layout) ................................ 1528 Configurações de Web (Web Configuration) ......................................................................................................................................................................................................................................................................... 1528 Quebra de Página Anterior (Page Break Before) ........................................................................................................................................................... 1528 Destino de Hiperligação (Hyperlink Destination) ...... 1525 Impressão de Base Ativada (Base Printing On) ......................................................................... 1527 Grupo (Group) ...................... 1527 Máximo de Registros por Página (Maximum Records Per Page) .................................................................................. ....................................................................................................................................................................................................................................................................................................... 1530 Largura (Width) ................................................................................ 1525 Elasticidade Horizontal (Horizontal Elasticity) ............................................................................................................................................................................................................ 1526 Informações Gerais (General Information) .. 1530 Painéis Horizontais por Página (Horizontal Panels per Page) .............................................................. 1526 Manter com Objeto de Ancoragem (Keep With Anchoring Object) ................................................................................................................................................................................................................................................................................................................................................................... 1526 Final da Seção de Layout (End of Layout Section) ..............................................................

.... 1536 Desformat .......................................................................................... 1538 Express_Server ............................................................. 1530 Orientação (Orientation) ................................................................................................................................................................................................................ 1539 Keyin ................................................................................................................................................................................................................................................................................................................... ....................................................................................................................................... 1534 Background .................. 1537 Destype ..................................................................................... 1540 Onsuccess ................................................................................................................................................................................................................................................................................................................................................................................................ 1539 Mode ............................................................................................................................................................................... 1535 Copies .............................................. 1539 Jobname ....................... 1531 Distribuição (Distribution) ....................................................................................... 1534 Authid .................................................................................................................................................................................. 1539 Keyout ........................................................... 1541 LXXIV ✦00CURSO COMPLETO Para uso pessoal.......................................................................................................................................................................................................................................................................................................................................................................................................... 1540 Nonblocksql .................................................. 1533 Para Relatórios ......................................................................................................... 1540 PageStream .................................................................................................................................................................................................... 1536 Customize ............................................................................................................................................................................................................................................. 1539 Maximize .......................................... 1535 BlankPages ...................................................................................................................................... 1537 Destination ........................................................................... 1541 Paramform ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1536 DateFormatMask ............................................................................................................................................................................... 1534 Arraysize ........... 1531 Largura do Relatório (Report Width) ............................................................ 1536 Delimiter ....................................................................................................................................................................................................................................................................................................................................... 1534 Autocommit .......................................................................... 1538 DisableMail ............................... 1539 Longchunk ........................................................................................................................................................................................................................................................................... 1531 Altura do Relatório (Report Height) ...................................................................................................................................................... 1541 Printjob ................................................................ 1536 Desname ......... 1540 NumberFormatMask .............................................................................................................................................................................................. 1531 Modo Caractere (Character Mode) ......................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Painéis Verticais por Página (Vertical Panels per Page) .................................................................................................................................................................................................................................................................................................................. 1540 Orientation ....................................................................................................................................................... 1535 Cmdfile ........................................................................................... 1537 DisableFile .............................. 1538 DisablePrint ............................................................................................................ 1540 Module | Report ................................................................................................................................................................................................................................................ 1538 Distribute ...................................................................................................................................................................... 1534 Batch .................... 1538 DisableNew ...................................................................................................................... 1535 Buffers ......................................................................................................................................................................... 1541 Pagesize ................................................................................................................................................................................................................. 1535 Currency ..................... 1538 Errfile ................................. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..................................................................................... 1539 Logfile ..................................................................................................................... 1535 CacheLob ................................................................................................................................................................................................................................................................................................... 1536 Decimal .................................................................................................................................................. 1535 CellWrapper ................................................................................................................ 1540 Onfailure ................................................................................................................................................................................................................. 1534 Access .......................................... 1531 CAPÍTULO 19 – PARÂMETROS DE EXECUÇÃO ........................

....................................................................... 1545 Dtype .................................................. 1549 Query_Only ..................................................................... 1542 Rundebug ........................................................................................................................................................................................ 1542 Save_Rdf ..................................................................................................... 1543 Thousands ...................................................................................................................................................................... 1544 Dest ..................................................................................................................................................................... 1547 Debug_Messages ................................................................................................................................................................................................................................................................................................................. 1549 Output_File ............................................................................................................................ 1547 Help ............... 1545 Formsize ..................................... 1547 Interactive ..................................................................................................................................................... 1550 Para Form Compiler ....................................... 1548 OptimizeSQL .............. 1542 Schedule ..... 1544 Cmdfile ....................................................................................................................... 1543 Tracemode .................................................. 1545 Dunit .............................. 1549 Quiet ............................................................................................................................................................................................................................................... 1546 Source .................................................................................................................................................................................................................................. 1547 Debug ............................................................................................................................................................................................................................................................................................................................................................ 1546 Para Form Runtime ... 1548 Logon_Screen ...................................................................................................... 1548 Options_Screen ............................................ 1548 Keyout .................................... 1543 Tracefile ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1546 Stype ................................................................................................................................................................... 1547 Array ............................................................................................................................................................................................................................................................................................................................................... 1548 Log ..................................................................................................................................... 1543 Tolerance . 1544 Batch ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1543 Userid .............................................................................................................................. 1544 Customize .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1547 Buffer_Records ............................................................................................................................................................................................................................................. 1549 Pecs .............................................................................................................................................................................................................................................................................................................................................................................................................. 1542 Server ........................................................................ 1549 Statistics ........................................................................................... 1550 CURSO COMPLETO00✦ LXXV Para uso pessoal...................................................................................................................................................................................................... 1541 Role ..... 1543 Traceopts .............................. 1548 OptimizeTP ............................................................................................... 1545 Logfile ............................................................................................... 1548 Keyin ........................................................................................................................................................................................................................................ 1546 Pagesize .......................................................................................................................................................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos............................................................. 1544 Para Report Convert .............. 1549 Record .............. 1546 Overwrite ............................................ 1550 UseSdi ............................................................................................................................................................................................................................................................................................................................................................... SUMÁRIO Profile ........ 1541 Readonly .................................................................................................................................................................................................... 1547 Block_Menu ....................................................................... 1543 Term ....................................................................... 1546 Userid ....................... 1550 Window_State .......................................................... 1550 Term ............................................................................................................................................................................................................................................ ...................................................................................

.............................................................................................................................................................................................. 1551 Module_Access ..................... 1556 Abrir (Open) ................................................................................................................................................................................................................................................................................................ 1551 Delete ..................................................................................................... 1551 Logon ..... 1557 Compilar Relatório (Compile Report) .......... 1556 Exportar (Export) .................................... 1558 Criar Para Arquivo (Generate to File)......................................................................................... 1558 Correio (Mail) ................................................. 1555 Menu Arquivo (File) ............................................................... 1557 Express (Express) .................................................................................................................... 1557 Gerar Relatório Sobre Relatórios (Report on Reports) .......................................... 1557 Deletar (Delete) ............................................................................................................................................................................................................................................................................................. 1551 Help ........................................................................................ 1552 Strip_Source ...................................................................................................................................................................................................................................................................................................................................................................................................... 1553 CAPÍTULO 20 – OS MENUS DO REPORT BUILDER ..... 1558 Sair (Exit) ................................................................... 1551 Debug .................................................................................................................................................................................................................................. 1557 Administração (Administration) .............................................................................................................................................................................................................................................................. 1551 Nofail .............................................................................................................................. 1553 Upgrade_Roles ..................................... 1558 LXXVI ✦00CURSO COMPLETO Para uso pessoal................................ 1557 Verificação Interna (CheckIn) ....................................................................................................................................................................................................... 1550 Batch ................................................................................................................................................ 1552 Statistics ................... ................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Add_Triggers ................................................. 1556 Salvar (Save) ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. 1558 Verificação Externa (CheckOut) ................................................................................................................................................................................................................ 1557 Converter (Convert) ................................... 1557 Conectar (Connect) ......................................................................................................................................................................................................................................................................................................................................... 1552 Upgrade ...................................................................................................................................................... 1556 Reverter (Revert) ....... 1556 Importar (Import) ......................... 1553 Version ............................................................................... 1552 Output_File .......................................................................................................................................................................... 1558 Imprimir (Print) .................................................................. 1556 Novo (New) .................................................................................................................................................. 1553 Widen_Fields .................................................................................... 1557 Desconectar (Disconnect) ................................................................................................................................................................................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.......................................................................................................................................................................................................................................................................................................................................................... 1550 Compile_All .......................................................................................................... 1551 Module_Type ........................................ 1551 Insert .................................................................................................................................................................................................................................................................. 1558 Configurar Página (Page Setup) ......................... 1556 Salvar Como (Save As) .................. 1552 Parse ................................................................................................................................................................................................................................................................................................................... 1558 Distribuir (Distribute) ................. 1551 Crt_File ................. 1552 Script ........................................................................................................................... 1552 Options_Screen .................... 1551 Extract ....................................... 1558 Opções de Controle de Origem (Source Control Options) .................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1550 Build ......................................................................................... 1556 Fechar (Close) .................................................................................................................................................................................. 1557 Renomear (Rename) ................................................................................................................................................. 1557 Acesso ao Relatório (Report Access) ...................................................................................................................................................................

.................................................................................................................................................................................................................. 1560 Usar Folhas de Estilos HTML (Use HTML Style Sheets) ........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1562 Ajustar à Janela (Fit to Window) ....... 1562 Grade (Grid) ................................................................................................................................................................................................................................................................................... 1561 Ampliar (Zoom In) ........................................................................................................................................................................................................................ 1559 Desfazer (Undo) ............................................................................................... 1559 Selecionar Quadro-Pai (Select Parent Frame) ......... 1560 View de Propriedade (Ownership View) .......................................................................................................................................................................... 1562 Próxima Página (Next Page) ........................................................................................... 1560 Previsualizador Ativo (Live Previewer) ..................................................................................................................................................................................................................................................................... 1559 Copiar (Copy) ................................................................................................................................................................................... 1562 Tamanho Normal (Normal Size) ................................ 1559 Cancelar Seleção de Todos (Deselect All) ................................................................... 1559 Selecionar Todos (Select All) ............................................................. 1561 Reduzir (Zoom Out) ................................................................................................................ 1562 Alinhar à Grade (Snap to Grid) .............................................................................................................................. 1559 Duplicar (Duplicate) .......................................................................... 1563 Array de Layout (Layout Matrix) ......... 1561 Fechar Previsualizador (Close Previewer) ....................... 1560 Mostrar Todas as Páginas (Show All Pages) .............................................................................................................................. .......................................................................................................................................................................................................................................................................................................... 1563 Menu Formatar (Format) ............................................................................................................................................................... 1563 Número de Página (Page Number) ................................................................... 1559 Menu Exibir (View) ............................................. 1560 Modelo de Dados (Data Model) ................................................. SUMÁRIO Menu Editar (Edit) .......................................................................................................................................................................................................................................................................................................................................... 1560 Usar HTML (Use HTML) ........................................... 1561 Modelo de Layout (Layout Model) ...................... 1560 Criar Para Navegador da Web (Generate to Web Browser) ........ 1562 Réguas (Rulers) ......................................................................................................................................... 1560 Usar XML (Use XML) ..................................... 1561 Renovar Dados (Refresh Data) .................................................................................................................................................................................................................................................................................................................................................... 1559 Vínculos (Links) ........................................................................................................................................................................ 1563 Objeto OLE (OLE Object) ................................................................. 1563 Data e Hora (Date and Time) ....................................................................................................................................................................... 1563 CURSO COMPLETO00✦ LXXVII Para uso pessoal............................................................................................................................................................. 1562 Menu Inserir (Insert) ..................................................... 1562 Quebras de Página (Page Breaks) ....................................... 1562 Paleta de Ferramentas (Tool Palette) ................ Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos............................................................................... 1559 Recortar (Cut) ....................................... 1560 Previsualizador de Web (Web Preview) .............................. 1559 Limpar (Clear) ........ 1561 Página Anterior (Previous Page) ..................... 1560 Mostrar Página Atual (Show Current Page) .................................................................................................................................... 1562 Barra de Status (Status Bar) ........... 1561 Previsualizador de Runtime (Runtime Previewer) ............................... 1559 Colar (Paste) ......... 1561 Form de Parâmetro (Parameter Form) ................................................................................................................................ 1562 Última Página (Last Page) .......................................................................................... 1561 Primeira Página (First Page) ............................................... 1562 Guias de Régua (Ruler Guides) ............................................................................... 1559 Object (Object) ........................................................................................................................................... 1561 Seção de Layout (Layout Section) ..................................................................................................................................................................................................................................................................................................................................... 1561 Novo Previsualizador (New Previewer) .................................................................................................................................. 1560 Usar PDF (Use PDF) . 1560 View de Tipo de Objeto (Object Type View) ........................................................................................................................................................

................................................................................................ 1566 Agrupar (Group) ... .......................................................................... 1564 Seta (Arrow) ................................................................................. 1566 Agrupar Operações (Group Operations) .............................................................................................................................................................................................................................................................................................................................. 1564 Borda (Border) .......................... 1567 Adicionar no Grupo (Add to Group) ............................................................................................................................................................................................................................................................................................................................................................................................................................................................ 1567 Ocultar Tudo (Collapse All) ............................ 1564 Moeda (Currency) .................................... 1564 Casas Decimais (Decimal Places) .............................................................................................................. 1567 Adicionar Marcador (Add BookMark) ................................................................................................................................... 1567 Deletar (Delete) ...................................................................................................... 1564 Percentual (Percent) ................................................. 1567 Ir Para Marcador (GoTo BookMark) .................................................................... 1564 Arco (Arc) ................................................................................................................................................................................................................................................................................................................................ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Fonte (Font) .............................................. 1564 Vírgulas (Commas) .................................................................................................................................................................................................................................................................................................................................................................................................................................... 1566 Dimensionar Objetos (Size Objects) ........................................................................................................................................ 1566 Enviar Para Trás (Send to Back) ......................................................................................................... 1566 Trazer Para Frente (Bring to Front) ............................ 1568 LXXVIII ✦00CURSO COMPLETO Para uso pessoal................................................ 1563 Espaçamento de Texto (Text Spacing) ....................................................... 1565 Reduzir Resolução da Imagem (Reduce Image Resolution) ................................................................................................................................................................................................................................................................................................................................................................... 1568 Pasta Layout (Layout Tab) .............................................................................. 1563 Direção (Direction) ......................................................... 1566 Alinhar Objetos (Align Objects) ..................... 1564 Traço (Dash) ..................................................................................................................................................................... 1566 Repetir Dimensionamento (Repeat Sizing) ............................. 1565 Opções de Layout (Layout Options) .................................. 1565 Réguas (Rulers) ............... 1568 Opções do Navegador (Navigator Options) ........ 1563 Justificar (Justify) ............... 1567 Criar (Create) .............................................................. 1565 Modelo de Layout (Layout Model) ....................................................................................................................................................................................................................................................................................................................... 1565 Formatação Condicional (Conditional Formatting) ........... 1563 Bevel (Bevel) .......................................... 1568 Pasta Geral (General Tab) ...... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1566 Desagrupar (Ungroup) ................................ 1567 Expandir (Expand) ................................................................................ 1566 Mover Para Trás (Move Backward) ............... 1564 Retângulo Arredondado (Rounded Rectangle) ....................................................................................................................... 1566 Menu Organizar (Arrange) .................................................................................. 1564 Geral (General) .............................................................................................................................................. 1563 Largura da Linha (Line Width) ........... 1568 Menu Programa (Program) .......................................................................................................................... 1565 Paleta de Cores (Color Palette) ............................. 1566 Repetir Alinhamento (Repeat Alignment) ............................................................................................ 1567 Menu Navigator (Navigator) ... 1567 Selecionar Filhos (Select Children) .......... 1567 Remover do Grupo (Remove from Group) ................................................................................. 1567 Fechar (Collapse) ............................................................... 1564 Imagem (Image) .............................................. 1567 Selecionar Pai (Select Parent) ........................................................ 1567 Expandir Todos (Expand All) ......................................................................... 1564 Opções de Gráficos (Graphics Options) ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1566 Mover Para Frente (Move Forward) ..........................................................................................................................................................................................................................................

............................................................................................................................................................................. 1571 Manuais (Manuals) ................................................................................................................................................................................................... Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.................... 1569 Assistente de Dados (Data Wizard) ..................................................................................................................................................................................................................................................................................................... 1569 Assistente de Web (Web Wizard) .................. 1569 Editor PL/SQL Armazenado (Stored PL/SQL Editor) ............................................ 1569 Paleta de Sintaxe (Syntax Palette) ......................................................................................................................................................................................................................................................................... 1571 Cue Cards ...................... 1569 Localizar e Substituir em PL/SQL (Find and Replace in PL/SQL).......................................................... 1569 Interpretador PL/SQL (PL/SQL Interpreter) ................................................................................................................................................... 1574 List . 1569 Menu Ferramentas (Tools) ....................................................................................................................................................................................... 1571 Sobre o Report Builder (About Report Builder) ........... 1570 Menu Ajuda (Help) .................. 1577 ÍNDICE REMISSIVO .................................................................................................................................................... 1569 Rastrear (Trace) ................................. 1570 Preferências (Preferences) ..................................................................................................... 1579 CURSO COMPLETO00✦ LXXIX Para uso pessoal.................................................................................................................................................................................................................. 1570 Criador de Form de Parâmetros (Parameter Form Builder) ........................................................................................................................................................... 1571 CAPÍTULO 21 – BUILT-INS DO REPORTS ...................................................................................................... 1568 Compilar Seleção (Compile Selection).. 1570 Editor de Relatório (Report Editor) ......................................... 1569 Editor do Gatilho do Banco de Dados (DataBase Trigger Editor) ................................................................................................................ 1568 Compilar (Compile) ......................................... 1570 Quick Tour ................................... SUMÁRIO Executar Relatório (Run Report) ............................................................................. 1569 Assistente de Relatório (Report Wizard) .... 1570 Editor de Gabarito (Template Editor) .............................................................................................................................. 1570 Object Navigator ............................. ........................................................................................................................... 1568 Editor PL/SQL (PL/SQL Editor) ....................... 1569 Assistente de Gráfico (Chart Wizard) ....................................................................................................................................................................................................................................... 1573 Srw .......................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 1570 Tópicos da Ajuda do Report Builder (Report Builder Help Topics) ........ 1570 Paleta de Propriedades (Property Palette) ............................................

. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 Parte I FUNDAMENTOS CURSO COMPLETO00✦ 1 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS 2 ✦00CURSO COMPLETO Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. .

CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 Capítulo 1 INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 CURSO COMPLETO00✦ 3 Para uso pessoal. . Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

A terceira e última opção chamada de Informações de Paginação abre a documentação em formato HTML (welcome.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Neste capítulo serão apresentados os procedimentos para a instalação do produto Personal Oracle9i para Windows 2000. só com a documentação básica (New Features. A memória mínima solicitada pela Oracle é de 128Mb.0 (Workstation ou Server.oracle. . ou seja. Iniciar Instalação. no entanto. Com relação a hardware precisamos de um processador Pentium 166 ou superior. para tal devemos estar online na Internet.) se acham em uma biblioteca de documentação composta de 2 CD-Roms separados. Descreveremos a seguir. Caso a tela de Autorun. não apareça automaticamente. etc. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. com o título de Iniciar Instalação. Java.0 ou superior) ou o Windows 2000 (Professional. PL/SQL.com/support). opção Executar) o programa E:\Autorun\Autorun. Os requerimentos dizem respeito tanto a software quanto a hardwares mínimos para que a instalação e uso sejam bem-sucedidos.1.oracle. Para iniciarmos a instalação propriamente dita. faz a leitura do diretório-raiz do CD-ROM e o apresenta para que possamos navegar (ou explorar) pelas diversas pastas presentes.1 do Oracle9i Personal Edition. o número de usuários (pessoas) em conexão com o banco é 1(um). passo a passo.1. será apresentada a tela Autorun. com Service Pack 5. ou seja. Installation. REQUERIMENTOS PARA INSTALAÇÃO O Personal Oracle9i é um banco de dados pessoal.72 Gb para um banco de dados padrão. as etapas necessárias para a instalação do software Personal Oracle9i e a criação de um usuário padrão utilizado nos exemplos deste material.exe (para o Autorun) ou diretamente E:\Setup. devemos clicar na primeira opção.1 não é suportado para o Windows 95. ACOMPANHANDO A INSTALAÇÃO Ao colocarmos o CD-ROM na unidade apropriada.1.htm) presente no CD-ROM. As informações relativas a requerimentos relacionadas a seguir dizem respeito à instalação da versão 9. Com relação à software.1. Release Notes. Podemos. Migration e Configuration). 4 ✦00CURSO COMPLETO Para uso pessoal. intitulada Explore CD. A primeira opção.0. a qual dará início ao programa de instalação chamado Oracle Universal Installer. efetua a instalação dos produtos.com) e Suporte (www. METODOLOGIA ♦ Acompanhamento passo a passo das etapas da instalação. Os manuais relativos à versão (SQL. sendo recomendado 256Mb e vídeo de 256 cores. por algum motivo.0. que fará alguns questionamentos para efetuar a gravação dos arquivos. podemos executar (no menu Iniciar do Windows. O Oracle9i release 9. na qual teremos três opções para execução. A segunda opção. instalar a versão client (Oracle8i client ou Oracle8 client) para estabelecer conexão com um banco de dados Oracle9i Sever.exe (para o Oracle Universal Installer). espaço em disco de 1. Durante a instalação pode ser necessário mais área de disco. Os dois botões no fim da página permitem o acesso à Home Page da Oracle (www. FUNDAMENTOS EM: INSTALAÇÃO DO PRODUTO PRÉ-REQUISITOS ♦ Noções básicas da utilização do ambiente Windows. o sistema operacional necessário para a instalação é o Windows NT4. Server ou superior) ou o Windows Terminal Server (no Windows 2000 Server ou superior). onde a letra E corresponde à unidade de CD-ROM do computador.

1.0.1. CURSO COMPLETO00✦ 5 Para uso pessoal. o arquivo (diretório e nome de arquivo) que contém as informações necessárias aos produtos que desejamos instalar. Esta informação já aparece preenchida e não deve ser alterada. LOCALIZAÇÃO DOS ARQUIVOS Neste diálogo é apresentado.1 seria usada também em uma máquina cliente.0.01 – Personal Oracle9i – Autorun A próxima tela apresentada dá as Boas-Vindas ao usuário e permite que façamos uma verificação dos produtos já instalados. A terceira opção Oracle9i Management and Integration 9. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 Figura 1.1. PRODUTOS DISPONÍVEIS Nova tela de diálogo será apresentada para que façamos a escolha do que desejamos instalar. por exemplo) que viesse a gerenciar ou controlar os serviços do banco de dados. Na parte Destino encontramos duas informações: o nome e o caminho do Oracle Home.1. Neste momento. passaremos simplesmente ao próximo diálogo.0. . optaremos por Oracle9i Database 9. pois esta é a opção que fará a instalação do banco de dados (que é o nosso interesse). A escolha é livre. O instalador fará uma associação entre o nome que escolhermos para Oracle Home e o diretório físico em disco. O nome do Oracle Home é de nossa escolha. assim como o diretório.1 seria usada se tivéssemos instalado o banco de dados em uma máquina (que faria o papel de servidora de banco de dados) e desejássemos fazer acesso a este banco de dados a partir de outra máquina (que faria o papel de cliente para o banco de dados). A segunda opção Oracle9i Client 9. porém por alguém (um DBA. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.0. No meu caso escolhi como Oracle Home o texto OraHome9i e como diretório de destino c:\Oracle\Ora9i. Uma vez que estamos iniciando o processo de instalação agora.1. na parte Origem.1.

02 – Produtos Disponíveis TIPOS DE INSTALAÇÃO Este diálogo é apresentado para nós porque optamos. Figura 1.03 que podemos optar por três tipos diferentes de bancos de dados ou por uma instalação customizada (opção Personalizar). por instalar o banco de dados Oracle9i. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. anteriormente. Observamos na Figura 1. .ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Figura 1.03 – Tipos de Instalação 6 ✦00CURSO COMPLETO Para uso pessoal.

sendo. A criação do banco de dados poderá ser feita posteriormente de forma manual ou através do Database Configuration Assistant. como particionamento de tabelas. sem mesmo especificar domínio. Como estamos fazendo a instalação de um banco de dados personal. você observa que a escolha feita por mim foi um nome único para as duas informações. instalará um banco de dados similar à versão Enterprise (a maioria da “features”). o campo inferior também é preenchido da mesma forma. A segunda opção. No primeiro campo devemos fornecer o nome do banco de dados global.rj). o que varia de um para o outro (além do preço. É a versão ideal para testes e estudos. Em um ambiente de rede em que temos bancos de dados em nós diferentes da rede é comum utilizarmos um nome seguido de um domínio (por exemplo dbprd.04. A última opção não cria o banco de dados. Desta forma é possível que mais de uma instância (desde que tenham nomes diferentes) faça acesso a um mesmo banco de dados. apenas o software. portanto. portanto. Um banco de dados é composto dos arquivos que estão em disco (os arquivos onde os nossos dados estão armazenados. Já a versão Standard não apresenta determinadas “features”. faremos um pequeno parêntese neste ponto só para início de explicação. A terceira opção Data Warehouse criará um banco de dados voltado para um ambiente de Data Warehouse. Quando digitamos no campo superior. A identificação da instância (SID) deve ser única no computador. . etc. IDENTIFICAÇÃO DO BANCO DE DADOS Neste diálogo duas informações devem ser supridas por nós. Isto quer dizer que o uso principal do banco de dados será para processos de atualização (inclusão. já a instância é composta pela parte de memória (os produtos necessários ao funcionamento do banco – chamados de processos background. o nome fica a nosso critério. mas não precisa ter o mesmo nome do banco de dados.). Pela Figura 1. porém restrito à uma pessoa. podemos indicar apenas um nome (por exemplo ORACLE). A terceira opção. SGA). Este campo corresponde à identificação da instância Oracle que fará acesso ao banco de dados. ou seja. Ainda não estudamos a diferença entre instância e banco de dados. onde a expectativa é que os acessos sejam preponderantemente de consulta em uma grande quantidade de dados. uma versão mais barata. exclusão e alteração). no entanto. No nosso caso a primeira opção é a ideal uma vez que estaremos realizando testes e estudo. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Processamento de Transações. vamos verificar quais as outras alternativas. que será exatamente a escolhida por nós. por exemplo. A versão Enterprise é completa contendo todas “features” disponíveis para o Oracle9i. No nosso caso estaremos instalando um banco de dados que será usado por uma única instância. é claro) é a quantidade de características disponíveis no software. os arquivos que controlam a integridade da informação. e da área de memória compartilhada por estes processos – chamada de System Global Area. A quarta opção Personalizada construirá um banco de dados de acordo com as questões que viermos a definir nos diálogos seguintes. CURSO COMPLETO00✦ 7 Para uso pessoal. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 As duas primeiras opções se referem a bancos de dados a serem instalados em máquinas servidoras. CONFIGURAÇÃO DO BANCO DE DADOS Neste diálogo (não apresentado) devemos informar qual a finalidade do banco de dados que iremos instalar. tem a finalidade de criar um banco de dados para um ambiente com utilização principal de processamento de transações.

crase. til. esta pode ser uma opção interessante). Neste diálogo devemos escolher qual conjunto de caracteres (ou tabela de caracteres) é capaz de armazenar todas as peculiaridades da língua ou línguas que desejamos armazenar. escolhido no início da instalação) e os arquivos do banco de dados. Na terceira opção podemos escolher o conjunto de caracteres de nosso agrado. acentos agudos. Quando obtemos uma informação do banco de dados. CONJUNTO DE CARACTERES DE BANCO DE DADOS Quando armazenamos uma informação alfanumérica no banco de dados. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Neste diálogo podemos informar um diretório onde desejamos que os arquivos do banco de dados sejam instalados (se tivermos um outro disco. 8 ✦00CURSO COMPLETO Para uso pessoal. cada caracter enviado passa por um processo de conversão que transforma o caracter em um número (ou índice) em uma tabela de caracteres.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Figura 1. A primeira opção já apresenta uma tabela ou conjunto de caracteres previamente escolhido baseado no idioma em que o sistema operacional está instalado. que não existem no inglês. no sentido de separarmos os arquivos do software (que serão instalados no Oracle Home. . A segunda opção Unicode (UTF8) corresponde a um conjunto de caracteres que engloba diversos outros e permite a utilização simultânea de diversas línguas. No meu caso escolhi C:\DATABASE\ORADATA. na língua portuguesa utilizamos caracteres como o ç (cedilha). No meu caso o valor que aparece na Figura 1.05 (WE8MSWIN1252) foi escolhido porque o meu Windows 2000 Professional foi instalado em português. o processo inverso ocorre. circunflexo.04 – Identificação do banco de dados LOCAL DO ARQUIVO DO BANCO DE DADOS Este diálogo já apresenta uma sugestão da Oracle. Por exemplo. As diversas línguas existentes no mundo utilizam caracteres diferentes para escrever seus idiomas.

. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Ao término da instalação poderemos verificar.06 nos mostra as pastas subordinadas à pasta principal Oracle – OraHome9i (este nome foi dado durante a instalação). simplemente o Oracle nos informa o que será instalado. A Figura 1.05 – Conjunto de Caracteres do banco de dados RESUMO Neste diálogo não fornecemos nenhuma outra indicação. Não haverá mais necessidade de intervenção do usuário de agora em diante. Para iniciarmos a instalação devemos pressionar o botão Instalar. Figura 1. O tempo de instalação dependerá do hardware e da quantidade de memória que você tiver. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 Figura 1. Se você usar a barra de rolagem verificará que o software é bem grande. as pastas criadas pelo instalador.06 – pasta Oracle – OraHome9i CURSO COMPLETO00✦ 9 Para uso pessoal. no Windows.

uma pasta ORACLE_HOMES. Objects for OLE. território e conjunto de caracteres válidos para a estação do usuário. etc. METODOLOGIA ♦ Descrição dos procedimentos necessários à modificação das variáveis de ambiente do Oracle presentes no registro do Windows. contendo a estrutura principal onde estão armazenadas as informações de ambiente. Elas contêm os diretórios dos aplicativos. ODBC. configuração da parte de rede. devemos executar o programa Regedit do Windows que apresenta todas as variáveis cadastradas para todos os aplicativos. utilizaremos no desenvolvimento de aplicações (Sql*Plus. Se a expandirmos encontraremos uma pasta ALL_HOMES.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Os utilitários estão subdivididos por grupos. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Pro*C-C++. você poderá usar o SQL*Plus WorkSheet. Se esta foi a sua primeira instalação. Para tal. FUNDAMENTOS EM: SUBSTITUIÇÃO DA LINGUAGEM PRÉ-REQUISITOS ♦ Conhecimentos básicos sobre o editor de registro do Windows (Regedit). Du- rante o estudo neste livro. Como nosso interesse se refere às variáveis do Oracle. HOME2. poderemos visualizar uma pasta com o nome de ORACLE. administração do banco de dados em uso (Ad- ministration Assistant). são criadas algumas variáveis de ambiente no Windows. deveremos expandir o nó (basta clicar sobre o símbolo + à esquerda do nome do nó) HKEY_LOCAL_MACHINE e. Estas variáveis são consultadas por todos os programas Oracle que viermos a executar. subordinado a este nó. Durante o processo de instalação do Personal. etc. Estas informações estão organizadas em nós. O NÓ ORACLE No editor de registro. uma pasta OLEDB. que após o processo de instalação do banco corresponde ao valor escolhido para o banco de dados. deveremos expandir também o nó SOFTWARE. portanto. podemos modificar o valor destas variáveis de ambiente a fim de modificarmos algumas das características de nosso sistema. como vemos na Figura 1. HOME3. Na pasta Configuration and Migration Tools encontramos ferramentas que nos auxiliarão na criação/configuração de um novo banco de dados (Database Configuration Assistant). utilizaremos o SQL*Plus. HOME4 e HOME5. Na pasta Application Development encontramos as ferramentas que. Na pasta Integrated Management Tools encontramos ferramentas relacionadas a segurança em diversos níveis e formas. banco de dados. não estão criadas as pastas HOME1. etc. ícones. além de uma ferramenta (Home Selector) que permite a troca do Oracle Home principal. Além desta pasta você também encontrará uma outra pasta chamada Oracle Installation Products onde encontrare- mos o instalador e documentação sobre ele. A última pasta trata do Oracle 9i HTTP Server (ativação e interrupção do serviço no Windows). opção Executar. EXECUTANDO O REGEDIT No menu Iniciar. No meu caso este foi o quinto Oracle Home 10 ✦00CURSO COMPLETO Para uso pessoal. possivelmente. podemos digitar Regedit e pressionar o botão OK para que seja apresentada a tela abaixo. Se desejarmos. que possui uma interface mais amigável que o SQL*Plus.07. Uma das informações registradas nesta área é o idioma.). significa que você só tem um Oracle Home e. . A pasta Enterprise Manager Quick Tours possui apenas um ícone que aciona uma apresentação sobre a ferramenta. preferências padrão para cada aplicativo e para o banco de dados e outras informações necessárias à inicialização do banco de dados e/ou dos softwares aplicativos. uma pasta HOME0.

Como. Dentre estas variáveis. . CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 criado nesta máquina.07 – Variáveis de ambiente do Oracle Para verificarmos as variáveis de ambiente e seus valores.08 – NLS_LANG Com esta alteração todas as mensagens que recebermos no SQL*Plus passarão a ser apresentadas em inglês e toda informação monetária ou de data apresentará o padrão americano.WE8MSWIN1252” se tivermos escolhido o conjunto de caracteres WE8MSWIN1252 e o idioma do seu sistema operacional for português. Isto significa que cada produto Oracle instalado foi armazenado em um diretório físico diferente (lembra que existe uma associação entre o Oracle Home e o diretório físico?). Observe. modificamos seu valor para “AMERICAN_AMERICA. Para efeito de exemplificação. Figura 1. As variáveis de ambiente relativas a esta instalação estão visíveis na janela à direita. que o texto deve estar escrito exatamente como visto para que o banco de dados e o aplicativo funcionem corretamente.WE8MSWIN1252”. porém. Os valores válidos para estas variáveis estão detalhados no item referente a Globalization Support. com cuidado. a qual deve estar preenchida com o valor “BRAZILIAN PORTUGUESE_BRAZIL. devemos clicar sobre a pasta Home0 (para vocês e Home5 para mim). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. você já sabe modificar esta variável. você poderá escolher uma das duas opções apresentadas anteriormente para ela. devemos procurar pela variável NLS_LANG. Para modificarmos o valor desta variável. Figura 1. Nesta janela procure a variável Oracle_Home e verifique o diretório correspondente. agora. devemos efetuar um double-click no ícone (ab) à esquerda do nome da variável para que seja apresentada uma janela de edição. CURSO COMPLETO00✦ 11 Para uso pessoal.

devemos acionar o SQL*Plus (presente na pasta Application Development). A criação do usuário não é suficiente para sua utilização.09 – Diálogo de login em português Neste momento. deve ser anexado na última linha um ponto-e- vírgula. preencheremos o campo usuário com SYSTEM e o campo senha com o valor MANAGER. Como primeiro passo. 12 ✦00CURSO COMPLETO Para uso pessoal.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS FUNDAMENTOS EM: CRIAÇÃO DE UM USUÁRIO-PADRÃO COM O SQL*PLUS PRÉ-REQUISITOS ♦ Noções básicas da utilização do ambiente Windows. Operação de Grant bem-sucedida. Após cada linha. Poderemos.01 – Criação do usuário DESENV SQL> CREATE USER DESENV 2 IDENTIFIED BY DESENV 3 DEFAULT TABLESPACE USERS 4 TEMPORARY TABLESPACE TEMP 5 QUOTA UNLIMITED ON USERS. DBA TO DESENV. METODOLOGIA ♦ Apresentação e acompanhamento das etapas necessárias para a criação de um usuário inicial usando a ferramenta SQL*Plus. uma vez que estamos fazendo conexão com um banco de dados local.01. Listagem 1. devemos digitar na linha apresentada o comando mostrado na Listagem 1. O próximo comando dará poderes de DBA (administrador do banco de dados) para o usuário DESENV. O texto deve ser digitado exatamente como mostrado na listagem (começando com o texto CREATE USER). que apresentará uma tela de login para que informemos o usuário e a senha. Usuário criado.02 – Autorizando o usuário DESENV SQL> GRANT CONNECT. . estabelecer conexão como DESENV. necessitaremos preencher um nome para a conexão. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. tecle Enter para que o SQL*Plus perceba que o comando tem continuação e numere as linhas seguintes. O texto presente nesta tela varia de acordo com a linguagem em uso. ao instalarmos os softwares aplicativos (Oracle Developer 6i). A troca de linha é feita com Enter. Dê OK. Figura 1. Posteriormente. agora. Listagem 1. Para a criação de um usuário. Para execução do comando. O campo referente à string de conexão (Host String ou String do Host) não precisa ser preenchido. e este assunto será visto no item referente à instalação dos produtos de desenvolvimento.

FUNDAMENTOS EM: CRIAÇÃO DA BASE RELACIONAL PRÉ-REQUISITOS ♦ Noções básicas da utilização do ambiente Windows. A tabela Projeto (Proj) tem como primary key (PK) a coluna cd_proj e como foreign key (FK) a coluna cd_resp.10. passaremos para os arquivos (scripts) que contêm os comandos para criação e preenchimento das referidas tabelas. que estabelece relacionamento com a tabela Depto. CURSO COMPLETO00✦ 13 Para uso pessoal. na seqüência. A seguir faremos a criação das tabelas que usaremos em nosso estudo. a tabela Projetos-Atividades (PrjAtv) tem como primary key (PK) as colunas cd_proj e cd_ativ. que estabelece relacionamento com a tabela Depto. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 Listagem 1. Figura 1. Para tal começaremos com o modelo de dados e. apresentamos um esquema do modelo de entidades e relacionamentos. METODOLOGIA ♦ Apresentação da base de dados relacional e descrição dos procedimentos para criação dos dados.03 – Estabelecendo conexão como DESENV SQL> CONNECT DESENV/DESENV Conectado. que estabelece relacionamento com a tabela Func. e a coluna cd_depto. respectivamente. . descrito logo a seguir.10 – Modelo de dados A tabela Funcionário (Func) tem como primary key (PK) a coluna cd_mat e como foreign key (FK) a coluna cd_depto. que simultaneamente agem como foreign key (FK) e estabelecem relacionamento com as tabelas Proj e Ativ. A tabela Departamento (Depto) tem como primary key (PK) a coluna cd_depto e como foreign key (FK) a coluna cd_gerente. e a coluna cd_depto_ctb. que estabelece um auto- relacionamento. Finalmente. A tabela Atividades (Ativ) tem como primary key (PK) a coluna cd_ativ e não possui relacionamentos com outras tabelas. Todos os exercícios do livro usarão este usuário. MODELO DE DADOS Na Figura 1. que estabelece relacionamento com a tabela Func.

NR_CARGO NUMBER(3) . Use sempre o plic! Nesse primeiro script.2). todas as tabelas são removidas. no entanto. DROP TABLE HST_PROMO.NR_RAMAL NUMBER(4) . Observe que foram fornecidos parâmetros físicos no comando Create Table para que a tabela criada tivesse um tamanho reduzido.05 – Arquivo L01_05. criamos a especificação física da tabela Depto. portanto.DT_ADM DATE . Todos os arquivos devem ser criados em um mesmo diretório. Os comandos podem ser criados em um único arquivo ou em arquivos separados. No momento da digitação. o caractere delimitador é o plic ( ' ). Observe que na última linha da listagem. não se espante se a primeira vez que você executá-lo cada um dos comandos DROP apresente a mensagem de erro ERRO na linha 1: ORA-00942: a tabela ou view não existe. 'M')) . haverá erro na compilação.NM_FOTO VARCHAR2(100) .PRIMARY KEY (CD_DEPTO) ) STORAGE (INITIAL 4K NEXT 4K MINEXTENTS 1 MAXEXTENTS 5) PCTFREE 10 PCTUSED 80. por exemplo.SQL DROP TABLE PRJATV CASCADE CONSTRAINTS. deve ser respeitada. ou seja.06 – Arquivo L01_06.SQL CREATE TABLE DEPTO ( CD_DEPTO CHAR(3) NOT NULL . C:\SQL. DROP TABLE ATIV CASCADE CONSTRAINTS. .CD_DEPTO_CTB CHAR(3) .NM_DEPTO VARCHAR2(40) . Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.04 – Arquivo L01_04.NM_SOBRENOME VARCHAR2(12) .SQL CREATE TABLE FUNC ( CD_MAT NUMBER(5) NOT NULL . como está apresentado a seguir.PRIMARY KEY (CD_MAT) ) 14 ✦00CURSO COMPLETO Para uso pessoal. como aspas simples ( ‘ ). DROP TABLE DEPTO CASCADE CONSTRAINTS. certifique-se de usar esse caractere. DROP TABLE FUNC CASCADE CONSTRAINTS. Nesse script.IN_SEXO VARCHAR2(1) CHECK(IN_SEXO IN ('F'. Listagem 1. ALTER SESSION SET NLS_DATE_FORMAT = 'DDMMYYYY'.CD_DEPTO CHAR(3) REFERENCES DEPTO(CD_DEPTO) .DT_NASC DATE .NM_FUNC VARCHAR2(12) .ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS GERANDO A BASE DE DADOS Apresentamos a seguir um conjunto de arquivos contendo as etapas necessárias para a criação da base de dados a ser usada nos exercícios de cada um dos capítulos. Listagem 1.NR_GIT NUMBER(2) . Escolhemos defini-los no diretório SQL criado na raiz do drive C. A ordem de execução. .CD_GERENTE NUMBER(5) . Listagem 1. DROP TABLE PROJ CASCADE CONSTRAINTS.VL_SAL NUMBER(9. Caso seja utilizado algum outro. o que permite que reexecutemos as mesmas operações diversas vezes e façamos a implementação do modelo novamente.

PRIMARY KEY (CD_PROJ. criamos a tabela Func. Estudaremos este assunto no próximo capítulo.SQL CREATE TABLE PRJATV (CD_PROJ CHAR(06) NOT NULL REFERENCES PROJ. Nesse script. A criação da tabela Proj apresentada na Listagem 1.09. CD_RESP NUMBER(5) NOT NULL REFERENCES FUNC (CD_MAT). CD_ATIV NUMBER(03) NOT NULL REFERENCES ATIV.SQL CREATE TABLE ATIV ( CD_ATIV NUMBER(3) PRIMARY KEY.10 – Arquivo L01_10. Listagem 1.SQL CREATE TABLE PROJ ( CD_PROJ CHAR(6) NOT NULL. indicando que não haverá estruturas separadas para os dados e a PK. CD_ATIV) ) STORAGE (INITIAL 8K NEXT 8K MINEXTENTS 1 MAXEXTENTS 5) PCTFREE 10 PCTUSED 80.CD_MAT NUMBER(5) NOT NULL CURSO COMPLETO00✦ 15 Para uso pessoal. TX_DESCRICAO VARCHAR2(30) ) ORGANIZATION INDEX STORAGE (INITIAL 4K NEXT 2K MINEXTENTS 1 MAXEXTENTS 3). PRIMARY KEY (CD_PROJ)) STORAGE(initial 4k next 4k minextents 1 maxextents 5) PCTFREE 10 PCTUSED 80.09 – Arquivo L01_09. Esta tabela não possui Rowid físico e sim lógico. DT_INI DATE NOT NULL. criamos a tabela Projetos-Atividades com os relacionamentos estabelecidos para as tabelas Proj e Ativ. NM_PROJ VARCHAR2(30) NOT NULL.08 – Arquivo L01_08. Na Listagem 1. A criação da tabela Ativ apresenta como particularidade a expressão Organization Index. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 STORAGE (INITIAL 4K NEXT 4K MINEXTENTS 1 MAXEXTENTS 5) PCTFREE 10 PCTUSED 80. DT_FIM DATE. . que já estabelece o relacionamento com a tabela Depto e cria uma regra de integridade para a coluna in_sexo. Listagem 1. Será construída uma única estrutura B*Tree contendo o índice e na mesma linha os dados correspondentes. NM_SIGLA VARCHAR2(12). CD_DEPTO CHAR(3) NOT NULL REFERENCES DEPTO (CD_DEPTO).SQL CREATE TABLE HST_PROMO ( DT_PROMOCAO DATE NOT NULL . Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Listagem 1.07 já estabelece os relacionamentos com as tabelas Depto e Func. QT_EQP NUMBER(02). DT_INI DATE.07 – Arquivo L01_07. Listagem 1. DT_FIM DATE NOT NULL.

16.'D01'). mas não estabelece relacionamento com as tabelas Func e Depto.'DIRETORIA DE SISTEMAS'. INSERT INTO DEPTO VALUES ('C01'.100.'E01'.6789.90. CD_MAT) ) STORAGE (INITIAL 4K NEXT 4K MINEXTENTS 1 MAXEXTENTS 15) PCTFREE 10 PCTUSED 80 PARTITION BY RANGE (DT_PROMOCAO) (PARTITION ANOS80 VALUES LESS THAN (TO_DATE('01011990'. INSERT INTO FUNC VALUES (20.18.'SUPORTE DE SOFTWARE'. PARTITION ANOS2000 VALUES LESS THAN (MAXVALUE) ). Listagem 1.58.'F'. INSERT INTO FUNC VALUES (50.'02021968' .'C01'.'A00'.18.'10101993'.'D01').NULL.'11051961' .bmp'). 'DDMMYYYY')). PARTITION ANOS90_94 VALUES LESS THAN (TO_DATE('01011995'.'F'. fisicamente.11.'MIGUEL'. indicando que.'A00'). Usaremos suas informações para teste de tabelas particionadas.'ASSESSORIA'. INSERT INTO DEPTO VALUES ('D21'.50.'01011995'.'A00').60.'c:\windows\ladrilhos.5. INSERT INTO DEPTO VALUES ('D11'.2) .bmp').NR_CARGO NUMBER(3) .'JOAO'.'17081989'. 'DDMMYYYY')).4017.'c:\windows\bolhas. 'DDMMYYYY')).SQL INSERT INTO FUNC VALUES (10.'OPERACAO'.bmp'). Listagem 1. INSERT INTO DEPTO VALUES ('E01'.'KWAN'.'GOMES'.'DIRETORIA DA EMPRESA'.'M'.'HENDERSON'.'E01').3825.'DIRETORIA DE SUPORTE/PRODUCAO'.3978.'c:\windows\esteira.bmp').'B01'.20.'CRISTINA'.70.5275.60.3476. Na Listagem 1. logicamente.'TEIXEIRA'. Na Listagem 1.TX_MOTIVO VARCHAR2(200) .'05041995'.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS . INSERT INTO DEPTO VALUES ('D01'.'GERENCIA DE SISTEMAS COMERCIAIS'.PRIMARY KEY (DT_PROMOCAO. O Oracle é responsável por adicionar ou pesquisar as informações na partição correta.'E01').'15091955' .'14081953' . . os dados referentes a Func.'SANDRA'.66. se trata de uma única tabela. INSERT INTO DEPTO VALUES ('B01'. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.10.11 – Arquivo L01_11. PARTITION ANOS95_99 VALUES LESS THAN (TO_DATE('01012000'.VL_SAL NUMBER(9. INSERT INTO DEPTO VALUES ('E21'.'c:\windows\egito. esta tabela está subdividida em quatro partes e que.SQL INSERT INTO DEPTO VALUES ('A00'.10.4125.'A00'). INSERT INTO FUNC VALUES (30. INSERT INTO FUNC VALUES 16 ✦00CURSO COMPLETO Para uso pessoal.'CENTRO DE INFORMACAO'.12 – Arquivo L01_12. Essa tabela tem a finalidade de armazenar informações históricas da empresa que podem não mais estar cadastradas nas tabelas diárias.20.30. estamos cadastrando os dados referentes a Depto.CD_DEPTO CHAR(3) . Ela tem as colunas cd_mat e cd_depto.4738.61.NULL).'GERENCIA DE SISTEMAS ADMINISTRATIVOS'. INSERT INTO DEPTO VALUES ('E11'. criamos uma tabela que não se acha presente no modelo. A seguir.'A00').'M'. Observe que ela possui uma cláusula Partition By Range.

'07071955' .'PEREIRA'.'IRACY'.'30051990'.'D21'.'M'.53.bmp'). INSERT INTO FUNC VALUES (270.'WILARES'.'c:\windows\ondas.'05121993'.'SIQUEIRA'.3617.'DAVI'.56.'03031996'.'SALGADO'.'ELIZABET'.'A00'.2984. INSERT INTO FUNC VALUES (140.4502.'M'.'HONOFRE'. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 (60.'GABRIEL'.'D21'.'27101956' .'AZEVEDO'.2095.'12021992'.bmp').'PINTO'.'F'.'16051994'.'09071966' .'D21'.'26071994'.14.'D11'.'M'.12.'EVA'.'18101962' .2890.'F'.'DANIEL'.52.16.1590.56.55. INSERT INTO FUNC VALUES (190.'05121993'.3490.2738.2045.bmp').'MEDEIROS'.'15091955' .48.'JAIRO'.'28031966' .'D11'.'31031974' .'SANTOS'.'07071990'.'M'.'ROBERTO'.18.'c:\windows\ondas.2528.bmp').'D11'.'28071991'.bmp').'F'.17.2225.54. INSERT INTO FUNC VALUES (320.3782.'c:\windows\esteira.'M'.42.55.'c:\windows\ladrilhos.'M'. INSERT INTO FUNC VALUES (110. INSERT INTO FUNC VALUES (180.'11101993'.'F'.bmp').'c:\windows\bolhas.'c:\windows\pied-de-poule.'21041971' .'07071990'.16.2218.'15121991'.'19061992'. INSERT INTO FUNC VALUES (280.'QUEIROZ'.53.bmp').'NOVAES'.'A00'.bmp').'23021963' .16.'25061972' .'E11'.2774.17.bmp').2094.'JONES'.'c:\windows\esteira. INSERT INTO FUNC VALUES (120.'D11'.bmp').'18121966' .'30101999'.14.18.16.14.'17051967' .'FELIPE'.'30091990'.55.1918. INSERT INTO FUNC VALUES (310.3225.55.2925. INSERT INTO FUNC VALUES (300.'M'.17.'c:\windows\bolhas.'D11'.bmp').4650.bmp').'F'.'05111969' .3332.'F'.'BRUNO'.'MARINA'.'SANTANA'. INSERT INTO FUNC VALUES (240. INSERT INTO FUNC VALUES (100.'M'.'21021969' .'E11'.2468.16.'c:\windows\pied-de-poule.'LUZ'.58.'MARTA'.'c:\windows\ladrilhos.12.'OLIVA'.bmp').'M'.'26051963' .58.7831. INSERT INTO FUNC VALUES (150.'LOURENCO'.'29081995'. INSERT INTO FUNC VALUES (260.'JOAQUIM'.'HELENA'.bmp').'c:\windows\bolhas. INSERT INTO FUNC VALUES (220.'c:\windows\egito.bmp'). INSERT INTO FUNC VALUES (250.'26051973' .'16061990'.1827.972.'VICENTE'.'F'.'SARAIVA'.16.'21111995'.'SEVERO'.2134.'11091995'.1775.'F'.9990.'11081972' CURSO COMPLETO00✦ 17 Para uso pessoal.'MARQUES'.'30051965' .4501.'E21'.2975.bmp').bmp').'F'.'F'.'30091990'.'MARIA'.'D11'. INSERT INTO FUNC VALUES (130.16.bmp').'c:\windows\esteira.55.'c:\windows\egito.'M'.1793.15.4578.'15091989'.'c:\windows\esteira.1682. INSERT INTO FUNC VALUES (160.9001.bmp').'JOAO'.'JUVENTO'.'PARENTE'.'WILIAM'.16.'C01'.'15051971' .'SILVIO'.'TEODORO'.'YVES'.'E11'.'D11'.bmp').'C01'.2380.'D11'.942.52.5498. INSERT INTO FUNC VALUES (210. .'E21'.8953.'D21'.bmp').53.'c:\windows\egito.'SILVIA'.'ELIANE'.bmp'). INSERT INTO FUNC VALUES (230.'D21'.'F'.'M'.'JANUARIO'.'c:\windows\ladrilhos.'PONTES'.'c:\windows\bolhas.2625.'D21'.'M'.bmp').54.52.961.'ELINE'.672.'14091993'.'c:\windows\ondas.'19011956' .'c:\windows\pied-de-poule.'12111969' .19.2986.'F'.'11041994'.2615.'c:\windows\bolhas.'05011971' .'E11'.'15081995'.54.43.'SALVADOR'. INSERT INTO FUNC VALUES (200.'c:\windows\pied-de-poule.'c:\windows\esteira.'D11'.'c:\windows\egito. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.3780.16.55.bmp').2876.'12091991'. INSERT INTO FUNC VALUES (290.'24031991'.bmp').52.'BARBOSA'.'05101966' .'12041965' .55.'JOANA'.4510.17.6423.8997.17.'29051971' .'M'.54. INSERT INTO FUNC VALUES (170. INSERT INTO FUNC VALUES (70.55.1725.14.2842.1534.'E11'.'SOUZA'. INSERT INTO FUNC VALUES (90.'DOLORES'.'c:\windows\bolhas.'19031968' .'M'.2167.16.15.

INSERT INTO FUNC VALUES (330.bmp'). 'PROJETO FÍSICO'). 01.'c:\windows\ladrilhos. INSERT INTO PROJ VALUES ('PL2100'. 05. 'ADMDB'.'05051996'. '01021996').'SUPORTE DB/DC'. INSERT INTO PROJ VALUES ('IF2000'. '01011996'. INSERT INTO PROJ VALUES ('MA2112'. 'D21'. INSERT INTO ATIV VALUES (30. 02. 12.54. 'FISICO'. INSERT INTO ATIV VALUES (170. 'DOCUMENTAÇÃO DE SISTEMAS'). 'OPERAÇÃO DE SISTEMAS'). '01021996'). 03. 'E11'. 06. INSERT INTO ATIV VALUES (40.'M'. '01021996'). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. INSERT INTO PROJ VALUES ('OP2010'. 'D21'. INSERT INTO ATIV VALUES (90. 'CODIGO'. '01021996'). 'ESTIMATIVA DE CUSTO'). 'D21'.'OPERACAO'. 'ADMINISTRAÇÃO DE PRODUÇÃO'). 'APRESENTACAO'.'E21'. 020. INSERT INTO PROJ VALUES ('MA2111'. 'MANUTENCAO'. INSERT INTO PROJ VALUES ('MA2110'. INSERT INTO PROJ VALUES ('OP2013'. 050. '01011996'. INSERT INTO PROJ VALUES ('OP2011'. 'DOC'.'SISTEMAS DE CONTROLE'. 'DESCRIÇÃO DA LÓGICA'). 170. '01021996'). 01. 'CURSO'. '15021996'.5698. '01021996').'SUPORTE SISTEMAS'.'LEVANTAMENTO'. '01021996'). INSERT INTO PROJ VALUES ('AD3100'. '01021996').'PROGRAMACAO'. INSERT INTO ATIV VALUES (180.'DILSON'. INSERT INTO ATIV VALUES (140. 'ADMINISTRAÇÃO DE REDE'). 'D11'. INSERT INTO ATIV VALUES (60. 01. 'C01'.'ANALISE'. 'APRESENTAÇÃO DO PROJETO'). 01.'ASSISTENCIA MEDICA'. 070.14 apresenta os dados de Ativ. '01021996'). INSERT INTO PROJ VALUES ('AD3113'. 'MANUTENÇÃO DE SOFTWARE'). INSERT INTO ATIV VALUES (120.'c:\windows\egito.55.'AUTOMACAO COMERCIAL'. '01021996'). 'DEFINICAO'. 070. 06.'18071971' . '01011996'. 150.1995. 'GERENCIA'. INSERT INTO PROJ VALUES ('OP2012'. 06. INSERT INTO PROJ VALUES ('OP1010'.SQL INSERT INTO ATIV VALUES (10. '01011996'.'c:\windows\bolhas.2537. 'E21'.'PLANEJAMENTO'. INSERT INTO PROJ VALUES ('AD3110'. '01021996'). 'C01'.'GONCALVES'.'SERVICOS ADMINISTRATIVOS'.2384. '01011996'.'LOPES'. INSERT INTO FUNC VALUES (340.'ADMINISTRACAO GERAL'. 'DEFINIÇÃO DE PROGRAMAS').'SUPORTE SOFTWARE'. 'ADMINISTRAÇÃO DE PESSOAL'). '01011996'. 04. INSERT INTO PROJ VALUES ('OP2000'. 01. 'ADMREDE'. 'GERÊNCIA'). INSERT INTO PROJ VALUES ('MA2113'.'23021996'. 'ADMPROD'. INSERT INTO ATIV VALUES (110. 'CODIFICAÇÃO DE PROGRAMAS').'E21'. 'D11'. '01011996'. 'A00'. 05. Listagem 1.'M'. 09. INSERT INTO ATIV VALUES (100. 'E01'. '01021996').14 – Arquivo L01_14. INSERT INTO ATIV VALUES (70. INSERT INTO ATIV VALUES (150. 'CUSTO'. 'LOGICA'. INSERT INTO ATIV VALUES (20. 'D11'. 'D21'. 090.'PROGRAMACAO DE PAGAMENTO'. 340. 'DESENVOLVIMENTO DE CURSOS'). '01011996'. 'A00'. 100.13 apresenta os dados referentes a Proj.'SUPORTE USUARIO'. INSERT INTO PROJ VALUES ('AD3112'. 'B01'.14. 050. '01011996'. 03. 240. 'LEVANTAMENTO'. INSERT INTO ATIV VALUES (80. INSERT INTO PROJ VALUES ('IF1000'. A Listagem 1.'CONSULTORIA'. '01011996'.13 – Arquivo L01_13. 060. 'OPERACAO'. Listagem 1. 01. '01011996'. 'E21'. '01021996'). '01011996'. '01021996'). 02. INSERT INTO ATIV VALUES (160.'SUPORTE PRODUCAO'. '01011996'. '15091996'). 130. 'TESTE'. '01021996').SQL INSERT INTO PROJ VALUES ('MA2100'. . 'PESSOAL'. 18 ✦00CURSO COMPLETO Para uso pessoal. 'TESTE DE PROGRAMAS'). 02. '01021996').bmp').2103. 320. '01011996'. 'PREPARACAO'. '01011996'. INSERT INTO PROJ VALUES ('OP1000'. '01021996').'TREINAMENTO'.16.'DEPURACAO'. INSERT INTO PROJ VALUES ('AD3111'. 'ADMINISTRAÇÃO BANCO DE DADOS'). 110.'WILSON'. 'E01'. 'E21'.bmp'). '01021996'). 030. 'FASE DE LEVANTAMENTO'). '01011996'. '01011996'. 02. 330. '01021996'). 060.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS . 250. 010.'17051966' . '01011996'.'PROGRAMACAO DE PESSOAL'. INSERT INTO ATIV VALUES (130. INSERT INTO ATIV VALUES (50. A Listagem 1. 'D11'. 'E21'. '01011996'. 'MINISTRAR CURSOS').

'19101992'.'10051992').80.70.'01071990'). VL_SAL.'01011996'). NR_CARGO.10. '06081989'. Finalmente.'29121995').'16041993').'02121995').50.'24081989'). INSERT INTO PRJATV VALUES ('AD3112'. INSERT INTO PRJATV VALUES ('OP2012'. INSERT INTO PRJATV VALUES ('OP2013'. TX_MOTIVO) SELECT DT_ADM + 1/1440. INSERT INTO PRJATV VALUES ('OP2013'. INSERT INTO PRJATV VALUES ('OP2000'. INSERT INTO PRJATV VALUES ('MA2113'. INSERT INTO PRJATV VALUES ('IF2000'.'08111991').20. INSERT INTO PRJATV VALUES ('IF2000'. INSERT INTO PRJATV VALUES ('MA2113'.'02121994'). INSERT INTO PRJATV VALUES ('PL2100'.SQL INSERT INTO HST_PROMO (DT_PROMOCAO.'24081994'). TX_MOTIVO) SELECT DT_ADM. '14121990'.70. '29031991'.80.'05121991'). '16051996'.40. '15031993'. '30081993'. '19021989'. INSERT INTO PRJATV VALUES ('AD3112'. fecha o SQL*Plus.'01081995').'10041997'). '17111994'. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.30.10.50. INSERT INTO PRJATV VALUES ('IF1000'. INSERT INTO PRJATV VALUES ('MA2110'. '25121995'.70. 'Cargo gerencial.'28071990'). 'ADMISSÌO' FROM FUNC / INSERT INTO HST_PROMO (DT_PROMOCAO. INSERT INTO PRJATV VALUES ('AD3111'. CD_MAT. '04111991'. INSERT INTO PRJATV VALUES ('MA2110'. CD_MAT. INSERT INTO PRJATV VALUES ('AD3113'. CURSO COMPLETO00✦ 19 Para uso pessoal. CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 A listagem a seguir apresenta os dados de PrjAtv. CD_DEPTO.10.'14111992').'31071990'). '28121991'. O último script executa todos os demais e estabelece o relacionamento da tabela Depto com a tabela Func. INSERT INTO PRJATV VALUES ('OP2011'. INSERT INTO PRJATV VALUES ('IF1000'. INSERT INTO PRJATV VALUES ('AD3110'. '12041989'. '08041997'.80. '09041993'.'17031993'). INSERT INTO PRJATV VALUES ('MA2111'. '28111995'. '24101990'.60. CD_DEPTO. '16061989'.10.100.20. NR_CARGO. '17081994'.50.'07011992').'03061996'). Como último passo. INSERT INTO PRJATV VALUES ('AD3113'.70. '29061990'. INSERT INTO PRJATV VALUES ('OP2010'.40.16 – Arquivo L01_16. CD_MAT. INSERT INTO PRJATV VALUES ('IF2000'. NR_CARGO. '10071993'. INSERT INTO PRJATV VALUES ('MA2110'. CD_DEPTO.'25071993'). INSERT INTO PRJATV VALUES ('IF1000'.60.20. '22041992'.40. INSERT INTO PRJATV VALUES ('AD3111'.'17091993'). '13091994'.'08121996').60.90. INSERT INTO PRJATV VALUES ('MA2111'.'12121989'). VL_SAL. INSERT INTO PRJATV VALUES ('PL2100'. '13121993'.'05011994'). '19111989'. Listagem 1.80. INSERT INTO PRJATV VALUES ('OP2000'.'23091994'). INSERT INTO PRJATV VALUES ('AD3113'. '22041995'. CD_DEPTO. '13031993'. o auto- relacionamento e dá Commit em todas as atualizações realizadas. '16031989'. Listagem 1. VL_SAL. INSERT INTO PRJATV VALUES ('AD3110'.'28081992').'22041989').'23031989'). '26031996'.'16051993'). INSERT INTO PRJATV VALUES ('OP2011'.'28021990').SQL INSERT INTO PRJATV VALUES ('AD3110'.40. INSERT INTO PRJATV VALUES ('MA2100'. '06051993'. '06071995'. INSERT INTO PRJATV VALUES ('PL2100'.40. INSERT INTO PRJATV VALUES ('OP2010'.40. INSERT INTO PRJATV VALUES ('MA2100'.'25071994'). INSERT INTO PRJATV VALUES ('OP2011'.'31011996').50. '21071994'. INSERT INTO PRJATV VALUES ('OP2010'. '20081990'.30.70.'08111990'). INSERT INTO PRJATV VALUES ('OP2013'.'21081994').'17031992'). '06111991'. INSERT INTO PRJATV VALUES ('MA2111'.'30081990').60. '07011995'.'25011995'). '01121991'.20. INSERT INTO PRJATV VALUES ('MA2110'. INSERT INTO PRJATV VALUES ('MA2113'.90.80. '02031992'. '02021990'. '12061991'.'21021989'). INSERT INTO PRJATV VALUES ('AD3112'.'21041991'). '23071994'.'15051995'). CD_MAT.70.15 – Arquivo L01_15.'08121991').90.'21091996').50. '21011996'. '12111996'. VL_SAL.'01071989').80. '30111995'. INSERT INTO PRJATV VALUES ('OP2012'. INSERT INTO PRJATV VALUES ('AD3111'.20.'13041993'). .'01011991').'10041996'). '29081996'.50.10.30.20.90. INSERT INTO PRJATV VALUES ('OP2000'.30. Não haverá % de valor adicional' FROM FUNC WHERE CD_MAT IN (SELECT CD_GERENTE FROM DEPTO). a carga de dados para a tabela de histórico.'08071991'). '26021994'. '27061990'. INSERT INTO PRJATV VALUES ('OP2012'.'24031994'). '24071990'. '05081992'. NR_CARGO.

@L01_05. @L01_12.SQL na linha de comando do SQL*Plus. @L01_10.SQL @L01_04.SQL.SQL. @L01_13. Passemos ao próximo capítulo para o estudo simultâneo do SQL e do SQL*Plus. neste livro.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Listagem 1.17 – Arquivo L01_17. alter table depto add foreign key (cd_depto_ctb) references depto. Estabeleça conexão com o usuário criado no início deste capítulo (Desenv) e. finalmente. porém. @L01_06. @L01_11.SQL Todos os demais arquivos serão executados instalando a base de dados relacional. . @L01_07. todo o assunto sobre Objetos e Coleções será tratado à parte no Capítulo 4. deixaremos a criação da base de dados para este momento. CRIANDO O ATALHO PARA O SQL*PLUS Crie um atalho no Windows para o programa C:\Oracle\Ora9i\Bin\Sqlplusw. No nosso caso. @L01_08.SQL. Preencha a propriedade “Iniciar em” com o nome do diretório onde você instalou os arquivos para criação da base de dados. @L01_16.Exe.SQL. @L01_15.SQL. @L01_09.SQL. alter table depto add foreign key (cd_gerente) references func.SQL. C:\SQL. SOBRE A BASE DE DADOS OBJETO-RELACIONAL No livro anterior (sobre Oracle8/8i). Execute o atalho definido para que o SQL*Plus seja ativado. @L01_14. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.SQL.SQL.SQL.SQL. QUIT. 20 ✦00CURSO COMPLETO Para uso pessoal.SQL. commit. execute o arquivo (script) L01_17. criamos imediatamente após a Base de Dados Relacional a Base de Dados Objeto-Relacional. conforme o exemplo a seguir: SQL> @L01_17. portanto.SQL.

. CAPÍTULO 2 – SQL E SQL*PLUS Capítulo 2 SQL E SQL*PLUS CURSO COMPLETO00✦ 21 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

com todas as suas características básicas. Apesar de muitos dos produtos da Oracle apresentarem uma interface que. FUNDAMENTOS EM: LINGUAGEM SQL PRÉ-REQUISITOS ♦ Conhecimentos teóricos e práticos de modelagem de dados e da teoria relacional. algumas instituições estabeleceram padrões para a linguagem. Os relacionamentos são mantidos por valor com o uso de primary key e de foreign key. isto é. A última versão publicada pela ANSI (American National Standard Institute) e pela ISO (Inter- national Standards Organization) é datada de 1999 e chamada de SQL:99. a linguagem SQL é aceita como um padrão para bancos de dados relacionais. é converter as solicitações dos usuários em comandos de SQL no relacionamento com o banco de dados. O ORACLE E O SQL No Oracle. capaz de realizar a manipulação dos dados do usuário. A SQL (Structured Query Language) é uma linguagem para interface com bancos de dados relacionais. interseções. comandos para controle de acesso e criação de objetos. anteriormente. Esta linguagem foi batizada SEQUEL (Structured English Query Language) e posteriormente apenas SQL. todo e qualquer acesso ao banco de dados deve ser codificado na linguagem SQL. As operações relacionais também são contempladas. ou seja.. A IBM Corporation. junções. entidades. atributos e relacionamentos. E. estaremos estudando a ferramenta SQL*Plus e parte da linguagem SQL. METODOLOGIA ♦ Apresentação teórica dos objetivos da linguagem e suas características. poderíamos concluir dizendo que o banco de dados Oracle só entende SQL. Para que esta linguagem se mantivesse comum a todos os fabricantes de software. Este artigo determinou o início da mudança na filosofia de bancos de dados. ou seja. 22 ✦00CURSO COMPLETO Para uso pessoal. poderíamos dizer que um banco de dados relacional tem como objetivo implementar o modelo de dados relacional.F. Conceitualmente. definir autorizações. O SQL do Oracle9i é um superset deste padrão. . manipular dados. controlar o acesso aos dados. Inc. etc. não utiliza SQL. até então hierárquicos ou de rede. na verdade. Codd publicou um artigo intitulado “A Relational Model of Data for Large Shared Data Banks”. etc.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Neste capítulo. toda a comunicação com o banco de dados. Hoje. DADOS HISTÓRICOS Em junho de 1970. A SQL é a linguagem que deveremos utilizar para criar objetos. permitindo a realização de uniões. todos os usuários e programas que desejarem realizar alguma tarefa no banco de dados devem fornecer comandos escritos nesta linguagem. de forma superficial. BANCO DE DADOS RELACIONAL Dissemos. um software de banco de dados relacional (RDBMS) usa tabelas para implementar entidades e colunas para atributos. também. De forma bastante simplista. desenvolveu uma linguagem para usar o modelo imaginado por Codd. aparentemente. Nosso foco no estudo da SQL é a parte da linguagem chamada de DML (Data Manipulation Language). que a linguagem SQL é um padrão para bancos de dados relacionais. o Dr. A ferramenta SQL*Plus nos permitirá estabelecer interface com o banco de dados Oracle utilizando a linguagem SQL. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. o que fazem. subtrações. Veremos. Desta forma.

ADA. além do conjunto de valores armazenados. Na verdade. a SQL contém comandos a serem usados nas linguagens HOST. veremos como usar o SQL do Oracle9i para: fazer acesso. No Capítulo 4 faremos um estudo direcionado a armazenamento de objetos no banco de dados. pois são codificados como parte integrante das linguagens HOST. não permite a utilização direta dos comandos de DDL). novas tabelas ou colunas poderão ser adicionadas. mas também comandos para criação dos diversos objetos. LINGUAGEM DE CONTROLE DOS DADOS (DATA CONTROL LANGUAGE – DCL) A última parte da SQL nos dá uma visão dos mecanismos de controle. etc. são os mesmos comandos da DML e DCL incorporados ao código do programa. existem pequenas diferenças na codificação dos comandos de SQL quando utilizamos estas linguagens HOST. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Como isto é verdade e em função da grande quantidade de comandos. ♦ Comandos para Controle do Sistema – são os comandos necessários para a modificação de características da instância Oracle. Estas sintaxes especiais são tratadas em uma parte da linguagem chamada Embedded SQL Commands (não será vista neste livro). Não serão vistas neste livro. No Capítulo 1 você encontrará o modelo de dados utilizado ao longo de todo o livro. Estes comandos são chamados de EMBEDDED. Esta é a parte da SQL que estaremos mais interessados em estudar. de um modo geral. CURSO COMPLETO00✦ 23 Para uso pessoal. tais como COBOL. C. LINGUAGEM DE MANIPULAÇÃO DOS DADOS (DATA MANIPULATION LANGUAGE – DML) Esta parte da SQL possui comandos para que os usuários façam acesso e armazenamento dos seus dados. a linguagem SQL foi dividida em três partes principais. CAPÍTULO 2 – SQL E SQL*PLUS Ao longo deste capítulo. excluir e alterar as informações armazenadas no banco de dados. pois trata dos comandos a serem utilizados nos aplicativos de acesso ao banco de dados. LINGUAGEM DE DEFINIÇÃO DOS DADOS (DATA DEFINITION LANGUAGE – DDL) Esta parte da SQL descreve como as tabelas e outros objetos Oracle podem ser definidos. . é utilizada pelo administrador do banco de dados (DBA). Uma vez que existe a necessidade de troca de informação entre as variáveis dos dois ambientes (HOST e SQL). subdividida em três grupos de comandos: ♦ Comandos para Controle da Transação – são os comandos necessários para que possamos controlar a efetivação ou não das modificações realizadas no banco de dados. ♦ Comandos para Controle da Sessão – são os comandos necessários para que possamos modificar as características de nossa sessão. controle de acesso. incluir. para estudarmos características específicas. Veremos que os comandos de DDL não podem ser usados em todos os aplicativos (a PL/SQL. Aprenderemos sobre as operações relacionais e sobre os relacionamentos (sua implementação e garantias). etc. autorização. Esta parte da linguagem. por exemplo. A ABRANGÊNCIA DA LINGUAGEM Se o banco de dados só entende SQL. Se necessário. Além destas partes. discutiremos conceitos como herança e polimorfismo e veremos sua implementação no banco de dados Oracle9i. então devemos supor que a linguagem possui não apenas comandos de manipulação. alterados e removidos.

1. FUNDAMENTOS EM: FERRAMENTA SQL*PLUS PRÉ-REQUISITOS ♦ Noções básicas da utilização do ambiente Windows. pasta Appli- cation Development.1.1) para realização dos testes. indicando que poderemos digitar o comando que desejamos executar. O SQL BUFFER No SQL*Plus. Quando a conexão é estabelecida. Conhecimentos teóricos da linguagem SQL. TÉCNICA ♦ Apresentação de exemplos utilizando os comandos básicos descritos.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Para darmos início aos testes dos comandos. 24 ✦00CURSO COMPLETO Para uso pessoal. caso isto não aconteça. SQL*Plus). ABRINDO UMA SESSÃO O SQL*Plus é uma ferramenta que nos possibilita a interação com o banco de dados Oracle. pasta Programas. A ferramenta que usaremos em todo este capítulo se chama SQL*Plus. A instalação deste produto se encontra descrita no Capítulo 1 (Instalando o Personal Oracle9i no Windows 2000). O intervalo de tempo entre o momento em que uma conexão é estabelecida até o momento em que ela é encerrada é chamado de Sessão. será apresentado um diálogo de login a fim de que possamos fornecer o nome do usuário e senha para estabelecer conexão com o banco de dados. este valor não precisa ser preenchido.0. execução e tratamento de arquivos. ou seja. . consulte seu DBA para obter o nome adequado para preenchimento. obtemos permissão do banco de dados para enviar comandos e receber respostas. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. a tela apresentada mostra uma linha com o texto SQL> à esquerda do vídeo. o nome de um parâmetro que indica a que máquina e a que banco de dados desejamos estabelecer conexão. precisamos de uma ferramenta que nos possibilite esta conversa (interação) com o banco de dados. Em todo este capítulo estaremos usando o Personal Oracle9i (versão 9. Figura 2. Se você estiver estabelecendo conexão com um banco de dados instalado na mesma máquina (local). Ao acionarmos a execução da ferramenta (botão Iniciar. pasta Oracle – Orahome9i.01 – Conexão com o banco de dados através do SQL*Plus A terceira informação deste diálogo corresponde à string de conexão (String do Host). METODOLOGIA ♦ Apresentação conceitual da ferramenta e descrição sintática dos comandos necessários à edição. Funciona como um intermediário entre o usuário e o banco de dados. Nosso usuário padrão para testes será DESENV (criado no tópico Criando um Usuário Padrão do Capítulo 1).

que só pode conter 1(um) comando de SQL.02 – Linha de comando do SQL*Plus Ao digitarmos um comando na linha de prompt (SQL>). ♦ Fazer acesso e copiar dados entre banco de dados.03 – Esquema de funcionamento do SQL*Plus Quando terminamos a digitação. bastando que teclemos Enter para que seja mostrada uma numeração seqüencial no lado esquerdo do vídeo. CURSO COMPLETO00✦ 25 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. . esta área de memória. Quando o banco de dados retorna o resultado. o SQL*Plus recebe a informação. ♦ Listar a definição de qualquer tabela. indicando que o SQL*Plus considerou continuação do estado de digitação. OS COMANDOS DO SQL*PLUS No esquema da Figura 2. ♦ Enviar mensagens e receber respostas de outros usuários.03. Isto ocorre porque o SQL*Plus também possui comandos próprios com a finalidade de: ♦ Editar o comando SQL armazenado no Buffer. Em caso afirmativo.03). DIGITANDO NO SQL*PLUS A digitação na linha de prompt pode ser contínua (uma única linha) ou pode ocupar mais de uma linha. a formata e apresenta. observamos que nem todos os comandos digitados são colocados na área de Buffer para transmissão ao banco de dados. ♦ Armazenar os comandos de SQL para disco e recuperá-los para execução. coloca-o numa área de memória chamada SQL Buffer (ver Figura 2. Figura 2. CAPÍTULO 2 – SQL E SQL*PLUS Figura 2. ♦ Formatar os resultados retornados pelo banco de dados. é transmitida para o banco de dados. a ferramenta identifica este comando e verifica se se trata de um comando de SQL. ♦ Modificar o modo de trabalhar do SQL*Plus.

02 – Listando o SQL Buffer SQL> l2 2* 'TESTE' SQL> l * 4 2 'TESTE' 3 FROM 4* DUAL SQL> l last 4* DUAL SQL> l 1 * 1 SELECT 2 'TESTE' 3 FROM 4* DUAL SQL> l * 4* DUAL SQL> Na Listagem 2. colocar um ponto (.01 – Digitando no SQL*Plus SQL> SELECT 2 'TESTE' 3 FROM 4 DUAL 5 . o SQL*Plus apenas registrará o comando no SQL Buffer. A última linha listada pelo comando se tornará a linha corrente. Nestas duas situações. o SQL*Plus considerará fim de digitação e dará início à execução do comando. isto é. Se não desejarmos que o comando seja executado. poderemos alterá-lo.) seguido de Enter. a edição é feita linha a linha. Listagem 2. da linha apta para modificação.) como primeiro caracter da nova linha e pressionar Enter novamente.02. a informação pode ser fornecida em letra minúscula ou maiúscula indiferentemente. Desta forma. seguida de Enter. qualquer comando de edição que viermos a fazer afetará apenas a linha corrente. o comando List é usado em letra minúscula. LIST Este comando tem a finalidade de listar uma ou mais linhas do SQL Buffer. podemos teclar Enter duas vezes seguidas (deixando uma linha vazia) ou teclar Enter uma vez. listá-lo ou substituí-lo com alguns comandos básicos. isto é. COMANDOS DE EDIÇÃO Os comandos de edição têm o objetivo de modificar a informação armazenada no SQL Buffer. SQL> Havendo um comando de SQL armazenado no SQL Buffer. cada uma delas indicando ações diferentes. indicando que se trata da linha corrente. próprios do SQL*Plus. Você poderá observar agora que os comandos do SQL*Plus não são case sensitive. Outra opção que causa o mesmo resultado é pressionarmos a tecla Enter e na nova linha digitarmos a barra (/). Repita o exemplo utilizando letra maiúscula. A primeira opção é digitar um ponto-e-vírgula (. mas não o executará. Quando listamos o conteúdo do SQL Buffer. . ou seja. Novamente.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Para encerrarmos a digitação de um comando temos quatro opções. o SQL*Plus mostra do lado esquerdo do texto (ao lado da numeração) um asterisco em uma das linhas. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Estes comandos afetam apenas uma linha de cada vez. como primeiro caracter da linha. 26 ✦00CURSO COMPLETO Para uso pessoal. Listagem 2. indicando fim de digitação e ao mesmo tempo solicitação de execução.

dois brancos (ou mais) e o texto a ser adicionado. Se. CHANGE Este comando de edição tem o objetivo de substituir parte do texto (ou todo) por outro. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. para a inclusão de um ponto-e-vírgula ao fim do texto.02 com outras opções sintáticas. Observe que os separadores apresentados são iguais. devemos repetir a ação realizada com o branco.01 – List Repita o teste apresentado na Listagem 2. mesmo havendo um branco entre o comando e o texto. pois indica término de digitação e solicitação de execução. Como teste adicional. podemos adicionar um trecho de texto ao fim da linha corrente. devemos digitar o comando Append. Podemos utilizar qualquer caracter especial não presente nos textos. no exemplo da Listagem 2. APPEND Com este comando. ou seja.02 a seguir. tente usar este comando para incluir um ponto-e-vírgula ao final de alguma linha.02 – Append Observe. Sua sintaxe é apresentada na Sintaxe 2. o trecho que estivermos digitando não for de SQL e sim de PL/SQL. Sintaxe 2.03. 'OUTRO TESTE' 2* 'TESTE'. Listagem 2.01 indica como podemos listar parte do SQL Buffer e transformar em linha corrente quaisquer das linhas digitadas. que. porém. Para que isto seja possível. ainda. após a execução do comando. devemos digitar dois ponto-e-vírgulas seguidos. teremos necessidade de incluir o ponto-e-vírgula no texto. o SQL*Plus apresenta a linha modificada para verificação. CAPÍTULO 2 – SQL E SQL*PLUS A Sintaxe 2. uma vez que o ponto-e-vírgula não faz parte da sintaxe do SQL e tem uma conotação especial para o SQL*Plus. porém. CURSO COMPLETO00✦ 27 Para uso pessoal. Observe. Sintaxe 2. Verifique se ocorre alguma diferença na digitação dos comandos em letra maiúscula ou minúscula.03 – Append SQL> L 1 SELECT 2 'TESTE' 3 FROM 4* DUAL SQL> L2 2* 'TESTE' SQL> A . O separador (<sepchar>) pode ser qualquer caracter especial que não esteja presente no texto <old> nem no texto <new>. Isto não é possível. só podemos usar um deles. que o texto é adicionado imediatamente após o texto existente na linha corrente. 'OUTRO TESTE' SQL> Se desejarmos incluir um branco (ou mais) entre o texto antigo e o novo. dentro de um comando. .

podemos “pintá-lo” com o botão esquerdo do mouse (pressionar o mouse sobre o primeiro caracter que desejamos copiar. mantê-lo pressionado e arrastá-lo até o último caracter desejado) e. 'OUTRO TESTE' 3 FROM 4* DUAL SQL> L2 2* 'TESTE'. 'OUTRO TESTE' 3 FROM 4* DUAL SQL> DEL 2 SQL> L 1 SELECT 2 FROM 3* DUAL SQL> 28 ✦00CURSO COMPLETO Para uso pessoal. sem soltar o botão esquerdo. Sintaxe 2. 'OUTRO TESTE' SQL> C/TESTE/TST 2* 'TST'. O próximo comando (Input) resolve este problema.04 – Del No exemplo da Listagem 2. . Esta ação fará com que o trecho pintado seja copiado para a linha de prompt. Caso não sejam informados parâmetros que indiquem a linha a ser removida. Experimente. isto é.05 – Del SQL> L 1 SELECT 2 'TST'. Listagem 2.03 – Change Listagem 2. quando for encontrado um trecho de texto igual ao texto <old>. clicar o botão direito do mouse. devemos digitar o comando novamente.05.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Sintaxe 2. DEL Exclui uma determinada linha da área do SQL Buffer. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. deixando a sintaxe do comando SQL inválida. será excluída a linha corrente. foi excluída a linha 2. Para que não precisemos digitar repetidamente o mesmo comando. 'OUTRO TESTE' SQL> Este comando efetua apenas uma substituição por linha. é feita a substituição pelo texto <new> e o comando é encerrado. a linha é analisada da esquerda para a direita e.04 – Change SQL> L 1 SELECT 2 'TESTE'. Se desejarmos repetir a substituição para outro trecho da linha.

as linhas já foram renumeradas. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. abrindo uma nova linha para digitação imediatamente após a linha corrente. Quando omitimos o nome do arquivo a ser editado. Sintaxe 2. Este comando difere do comando Append uma vez que pode voltar ao estado de digitação. CURSO COMPLETO00✦ 29 Para uso pessoal. anexada da letra i (ver exemplo da Listagem 2. sendo seu conteúdo o texto informado. CAPÍTULO 2 – SQL E SQL*PLUS INPUT Este comando adiciona uma ou mais linhas após a linha corrente (no SQL Buffer). serão apresentadas todas as variáveis existentes até o momento. A extensão default é SQL.05 – Input Quando digitamos o comando juntamente com um texto. Para sabermos seu valor. ao listarmos o conteúdo do SQL Buffer novamente. No segundo caso. Quando digitamos apenas o comando. o SQL*Plus aciona o editor do sistema passando como parâmetro o texto do SQL Buffer.06 – Input SQL> L 1 SELECT 2 FROM 3* DUAL SQL> L1 1* SELECT SQL> I 2I 'TESTE'. Sintaxe 2. No primeiro caso.06). podemos digitar na linha de prompt DEFINE _EDITOR ou apenas DEFINE. o SQL*Plus nos mostrará o valor apenas da variável solicitada. . devemos seguir os procedimentos normais vistos anteriormente no tópico Digitando no SQL*Plus. Para concluirmos a digitação desta(s) linha(s). é criada uma nova linha imediatamente após a linha corrente. seu nome pode ser informado com ou sem a extensão. Listagem 2. EDIT Este comando aciona um editor registrado no Windows e passa como parâmetro o nome de um arquivo ou o texto presente no SQL Buffer. Quando desejamos editar um determinado arquivo. apresentando uma linha vazia com a numeração à esquerda seqüencial à da linha corrente. de acordo com o comando executado. 3I 'OUTRO TESTE' 4I SQL> L 1 SELECT 2 'TESTE'. o SQL*Plus volta ao estado de digitação.06 – Edit O editor em uso pode ser obtido através de uma variável chamada _EDITOR. 3 'OUTRO TESTE' 4 FROM 5* DUAL SQL> Observe que.

. pasta Avançado. ao retornarmos para o SQL*Plus. na verdade.05). o SQL*Plus refaz a leitura do arquivo Afiedt. Caso retiremos a barra do arquivo. O que ele faz.1 . Nesta situação. pesquisar (subordinado à pasta Documents and Settings) a pasta All Users e expandi-la. no item referente a outros comandos do SQL*Plus. Se criarmos um atalho para o SQL*Plus (o executável se encontra na pasta C:\<Oracle Home>\BIN e se chama SqlPlusw. Essa barra indica ao SQL*Plus que o comando está completo. Programas e Oracle – OraHome9i. expandir o nó Programas. clicar no botão Avançado. é gravar um arquivo em disco (cujo nome default é Afiedt. opção Configurações. seguir expandindo seqüencialmente as pastas Menu Iniciar. o SQL*Plus deveria passar como parâmetro para o editor o conteúdo do SQL Buffer.Production” (CHAR) DEFINE _O_RELEASE = “900010101” (CHAR) SQL> O editor-padrão no Windows é o bloco de notas (Notepad).Buf) e passar o nome deste arquivo como parâmetro para o editor. ele apresentará uma linha vazia imediatamente após a última linha lida para que continuemos a digitação. devemos nos lembrar de que o editor escolhido deve aceitar um parâmetro correspondente ao arquivo a ser editado.1. Neste ponto. O diretório do Windows onde serão gravados (ou lidos) os arquivos de trabalho pode ser controlado por nós (default é C:\<Oracle Home>\BIN). A Figura 2. modificar o diretório de trabalho default do atalho presente na pasta Application Development da seguinte forma: clicar no botão Iniciar (do Windows). Finalmente clicar sobre a pasta Application Development para que tenhamos acesso ao ícone de ferramentas.1.1 .04 apresenta a execução do comando EDIT sem que informemos o nome do arquivo. Experimente.0.04 – Comando EDIT sem parâmetros Observe a mensagem apresentada na linha imediatamente abaixo da linha de prompt. salvamos e fechamos o editor (Notepad). Figura 2. também.1.04 que o Notepad apresenta o texto seguido de uma barra.Production With the Partitioning option JServer Release 9.0. basta que modifiquemos o diretório “Iniciar em” da pasta Atalho (ver Figura 2. Quando efetuamos as modificações desejadas. Antes de substituirmos o editor-padrão por outro de nossa escolha. obtida ao pressionarmos o botão direito do mouse sobre o ícone do SQL*Plus e escolhermos a opção Propriedades.exe). Listagem 2.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Posteriormente.Buf carregando o texto modificado para o SQL Buffer.07 – Variáveis de substituição predefinidas do SQL*Plus SQL> DEFINE DEFINE _SQLPLUS_RELEASE = “900010001” (CHAR) DEFINE _EDITOR = “Notepad” (CHAR) DEFINE _O_VERSION = “Personal Oracle9i Release 9. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Podemos. Observe na Figura 2.1. pressionar o botão direito do mouse sobre o ícone do SQL*Plus e escolher a opção 30 ✦00CURSO COMPLETO Para uso pessoal. opção Barra de Tarefas e menu Iniciar. veremos o que são as variáveis de substituição (ou variáveis definidas pelo usuário) e como podemos criar novas variáveis ou removê-las.

RUN Este comando envia o conteúdo do SQL Buffer para o banco de dados e. . qualquer arquivo a ser lido ou gravado pelo SQL*Plus o será no novo diretório default. Figura 2. digite o comando de SQL apresentado na Listagem 2. poderemos alterar o diretório “Iniciar em” (ver Figura 2. veremos como executar o conteúdo do SQL Buffer e como fechar o SQL*Plus. na pasta Atalho. CAPÍTULO 2 – SQL E SQL*PLUS Propriedades.08 – Run SQL> SELECT 'TESTE' 2 FROM DUAL 3 SQL> RUN 1 SELECT 'TESTE' 2* FROM DUAL 'TEST ----- TESTE SQL> CURSO COMPLETO00✦ 31 Para uso pessoal.05 – Propriedades do atalho SQL*Plus Com esta modificação. ao mesmo tempo. COMANDOS DE EXECUÇÃO E DE ENCERRAMENTO Neste grupo de comandos. Sintaxe 2. Se desejarmos efetuar a leitura ou gravação de arquivos em outros diretórios.08 e execute o comando RUN. podemos incluir o caminho onde se encontra o arquivo ao usarmos o comando EDIT. Para que a modificação tenha efeito. o SQL*Plus deve ser reiniciado.07 – Run Para efeito de teste.05). apresenta no vídeo as linhas enviadas (lista o SQL Buffer). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Novamente será mostrada a tela de propriedades e. Listagem 2.

não lista o SQL Buffer. De acordo com a Sintaxe 2. Já um comando Rollback indica que as modificações devem ser desconsideradas.08 – / (barra) EXIT / QUIT Os comandos Exit e Quit são equivalentes e têm a finalidade de encerrar a sessão do SQL*Plus. Isto pode ser útil quando executamos o SQL*Plus dentro de um arquivo de comandos para o sistema operacional em que devemos determinar como foi o término do programa anterior. poderemos transferir o valor para o arquivo de comandos a fim de controlar a execução do comando seguinte. e recebemos as mensagens adequadas. ♦ Na janela da direita.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS / (BARRA) Quando digitamos uma barra na linha de prompt e em seguida teclamos Enter.sh. . As demais opções indicam a ocorrência de uma falha na execução do SQL*Plus. contendo a execução do SQL*Plus numa linha de comando recebendo como parâmetros o user. porém não apresenta o texto enviado. isto é. o SQL*Plus envia o conteúdo do SQL Buffer para o banco de dados.09. observamos que podemos determinar como deve ser considerado o término do programa. password e o script a ser executado (@valor). para que o próximo comando do arquivo seja executado ou não. Podemos informar um valor numérico fixo. Na Figura 2. Sintaxe 2. A utilização destes parâmetros de encerramento é comum em arquivo de comandos. ♦ Na janela inferior. no qual o término do programa (SQL*Plus) foi anormal. simultaneamente.09 – Exit / Quit Quando digitamos apenas Quit (ou apenas Exit). incluímos três janelas: ♦ A janela da esquerda apresenta um script chamado exsql. 32 ✦00CURSO COMPLETO Para uso pessoal. isto é.06 (a seguir). Sintaxe 2. ou seja. Foi utilizado o parâmetro –s indicando que a janela do SQL*Plus não deve ser aberta. com sucesso ou não e com efetivação ou não das modificações realizadas no banco de dados. vemos a execução do script exsql. o valor de uma variável de substituição ou o valor de uma variável BIND (variável para troca de informações com um programa PL/SQL será vista posteriormente). Isto significa que a conexão com o banco de dados e. indicando execução em batch. apresentamos o conteúdo deste script valor: ele encerra o SQL*Plus com warning. Esta é a diferença entre o comando Run e a barra. Após a execução. Desta forma. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. A execução de um comando Commit indica ao banco de dados que todos os comandos que modificaram informações do banco de dados devem ser considerados válidos e as alterações devem ser efetivadas.sh. O término do programa é considerado normal e a conexão se encerra também normalmente com Commit. o próprio programa serão encerrados. A conexão com o banco pode ser encerrada independentemente do tipo de término do SQL*Plus (Commit ou Rollback). ficam valendo as opções sublinhadas. verificamos se o término foi normal ou não e adotamos caminhos alternativos.

------------ DUMMY VARCHAR2(1) SQL> DESC PROC PROCEDURE PROC Nome do Argumento Tipo In/Out Default? ---------------------------------.10 indica que podemos obter informações de objetos pertencentes ao usuário que estabeleceu a conexão.09 – Describe SQL> DESC SYS. Posteriormente. procedure ou package. objetos de outros usuários (informando-se <schema>) ou objetos existentes em outros bancos de dados (informando- se <database_link_name>). definindo alternativas de ação em caso de erro.----. No exemplo a seguir. DESCRIBE Este comando tem a finalidade de apresentar a definição de um objeto criado na base de dados Oracle. Já a procedure Teste pertence ao usuário DESENV e desta forma não é necessário que o schema seja fornecido. warning. view. veremos o conceito de schema e como criar um database_link. Listagem 2. O objeto pode ser uma table. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.-----. etc.DUAL Nome Nulo? Tipo ----------------------------------------. synonym. CAPÍTULO 2 – SQL E SQL*PLUS Figura 2. estamos obtendo a descrição da tabela Dual e da rotina Proc.10 – Describe A Sintaxe 2. Sintaxe 2. por este motivo. --------------- PAR1 NUMBER IN SQL> Observe que a tabela Dual não pertence ao usuário DESENV e sim ao usuário SYS. estamos informando o schema da tabela. function. .06 – Execução do SQL*Plus em ambiente UNIX O objetivo de transferirmos informações para o ambiente é permitir que executemos o SQL*Plus em batch e façamos o controle sobre o resultado. CURSO COMPLETO00✦ 33 Para uso pessoal.

“QTD. SAVE Este comando salva o conteúdo do SQL Buffer em um arquivo do sistema operacional. A extensão do arquivo é fornecida por . COMANDOS PARA TRATAMENTO DE ARQUIVOS O conjunto de comandos que passaremos a estudar neste item permitirá que guardemos comandos de SQL em arquivos para execução posterior. Sintaxe 2.11 – Save A sintaxe acima permite que o conteúdo do SQL Buffer seja salvo em um arquivo novo (default).ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Por default. .10 – Save SQL> SELECT COUNT(*) 2 FROM FUNC 3 / COUNT(*) -------- 32 SQL> SAVE QTD Criado file QTD SQL> SAVE QTD Arq. indicando que desejamos a substituição do arquivo. SQL> SAVE QTD REP Gravou file qtd SQL> No exemplo (Listagem 2. nome ou “SAVE nome arq. Caso seja omitida.10). complementamos o comando com a opção Replace. e portanto este arquivo deve conter apenas um comando. recebemos um erro quando indicamos que a salva deve ser efetuada e que o arquivo já existe em disco. realmente. efetuar a salva. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.12 – Get 34 ✦00CURSO COMPLETO Para uso pessoal. será usado SQL como extensão padrão.SQL” já exst. substitua um arquivo existente ou seja adicionado a um arquivo existente. GET A recuperação de um texto para o SQL Buffer é feita por meio do comando GET. Listagem 2. Todo o conteúdo do arquivo é copiado para o SQL Buffer.<ext> . Use out.REPLACE”. Sintaxe 2. O padrão pode ser mudado com o uso da variável de sistema Suffix. Se desejarmos. o banco de dados procura o objeto no próprio schema do usuário conectado.

como seria o caso do @ e do Start. ocorre um erro na execução porque o SQL*Plus envia todo o buffer para o banco de dados como se fosse um único comando e. se este comando for incluído em um arquivo de comandos. Como CURSO COMPLETO00✦ 35 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Observe no exemplo (Listagem 2. Se esta ação não for desejada. Por default. Num arquivo executado por Start. CAPÍTULO 2 – SQL E SQL*PLUS A extensão só precisa ser mencionada se for diferente do padrão (SQL). START Este comando executa o conteúdo de um arquivo de comandos existente no sistema operacional. com a diferença de que. não reconhecido pelo banco de dados. NR_GIT 2 FROM FUNC 3 WHERE NR_GIT > &1 AND CD_DEPTO = '&2' 4 SQL> SAVE TESTE Criado file teste SQL> START TESTE 16 D11 antigo 3: WHERE NR_GIT > &1 AND CD_DEPTO = '&2' novo 3: WHERE NR_GIT > 16 AND CD_DEPTO = 'D11' Foram usados dois parâmetros.12) que o valor passado como parâmetro é substituído antes de o SQL*Plus enviar o comando ao banco de dados (é apresentada uma mensagem com o texto da linha antes e após a substituição).11 – Get SQL> CLEAR BUFFER buffer conteúdo removido SQL> GET QTD 1 SELECT COUNT(*) 2* FROM FUNC SQL> GET DUPLO 1 SELECT SYSDATE FROM DUAL 2 / 3* SELECT MAX(VL_SAL) FROM FUNC SQL> / / * ERRO na linha 2: ORA-00933: comando SQL não encerrado adequadamente Caso o nome do arquivo seja composto das palavras List ou File. Cada comando de SQL ou de SQL*Plus é lido e tratado individualmente. . Listagem 2.12 – Start SQL> SELECT NM_FUNC. um para a coluna Nr_git (numérica) e outro para a coluna Cd_depto (alfanumérica). Sintaxe 2. devemos usar a opção Nolist. VL_SAL. O padrão pode ser mudado com o uso da variável de sistema Suffix. podemos incluir diversos comandos de SQL.13 do comando Start permite a passagem de parâmetros. Listagem 2.13 – Start O comando @ é sinônimo de Start e o @@ é semelhante. o conteúdo do arquivo é listado após ser carregado para o SQL Buffer. se o arquivo contiver mais de um comando. Observe no exemplo (Listagem 2. O valor &1 indica que deve ser feita a substituição pelo primeiro parâmetro passado na linha de comando. desta forma. CD_MAT. portanto. Estes parâmetros são variáveis de substituição que são utilizadas para a alteração de trechos do comando SQL. ele pesquisará o arquivo associado no diretório do arquivo de comando e não no diretório local. seu nome deve ser mencionado entre aspas.11) que todo o conteúdo do arquivo é carregado para o SQL Buffer. A Sintaxe 2.

O segundo parâmetro deveria ser informado entre aspas simples. mesmo quando informamos os valores na linha de comando. não podem ser utilizadas como parâmetro para o comando Start. podemos dar qualquer nome a elas. NR_GIT 2 FROM FUNC 3* WHERE NR_GIT > &&INST AND CD_DEPTO = '&&DEP' SQL> @TESTE Entre o valor para INST: 17 Entre o valor para DEP: D11 antigo 3: WHERE NR_GIT > &&INST AND CD_DEPTO = '&&DEP' novo 3: WHERE NR_GIT > 17 AND CD_DEPTO = 'D11' NM_FUNC VL_SAL CD_MAT NR_GIT ------------. CD_MAT. não houve necessidade de ser informado entre aspas simples. VL_SAL. devemos usar um ponto (. NR_GIT 2 FROM FUNC 3* WHERE NR_GIT > &1 AND CD_DEPTO = '&2.) para separar seu nome do valor. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Se for desejada esta ação. devemos preceder a variável de substituição com && e teremos o mesmo efeito que no caso do Start com parâmetros numéricos. porém. VL_SAL. . Observe na Listagem 2. VL_SAL. No exemplo. CD_MAT.13 – Start SQL> @TESTE antigo 3: WHERE NR_GIT > &1 AND CD_DEPTO = '&2' novo 3: WHERE NR_GIT > 16 AND CD_DEPTO = 'D11' As variáveis de substituição não precisam ter nomes numéricos. Listagem 2. -----. -----. NR_GIT 2 FROM FUNC 3* WHERE NR_GIT > &INST AND CD_DEPTO = '&DEP' SQL> @TESTE 17 A00 Entre o valor para INST: 16 Entre o valor para DEP: D11 antigo 3: WHERE NR_GIT > &INST AND CD_DEPTO = '&DEP' novo 3: WHERE NR_GIT > 16 AND CD_DEPTO = 'D11' Quando o comando contém a variável de substituição com nome alfanumérico precedido por um &. Listagem 2. utilizamos a comparação com ‘&2’ no próprio comando de SQL. ------ JOANA 2984 220 18 SQL> @TESTE antigo 3: WHERE NR_GIT > &&INST AND CD_DEPTO = '&&DEP' novo 3: WHERE NR_GIT > 17 AND CD_DEPTO = 'D11' Quando desejamos que o valor da variável de substituição seja concatenado com outro valor.13).ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS este valor é numérico.14 – Variáveis de substituição SQL> GET TESTE 1 SELECT NM_FUNC. de tal forma que o valor informado na linha de comando não precisasse de aspas.15 – Variáveis de substituição SQL> GET TESTE 1 SELECT NM_FUNC. estes são ignorados e é feita a solicitação dos valores. Listagem 2. pois se tratava de uma string. CD_MAT. Ao executarmos um comando de SQL ou de SQL*Plus contendo uma referência a variáveis de substituição. de tal forma que uma segunda execução do mesmo comando não precisa da passagem dos parâmetros (ver Listagem 2.14 que. neste caso. Listagem 2.16 – Variáveis de substituição SQL> GET TESTE 1 SELECT NM_FUNC. o SQL*Plus define uma variável de substituição com o nome de cada um dos parâmetros passados.11' SQL> @TESTE 17 D Entre o valor para 1: 17 Entre o valor para 2: D11 36 ✦00CURSO COMPLETO Para uso pessoal. o SQL*Plus solicita que o valor da variável seja informado. Quando executamos o comando Start passando parâmetros na linha de comando. o SQL*Plus não define uma variável de substituição com este nome.

possuindo uma sintaxe ampla que permite diversas opções de pesquisa. em que tabelas se encontram e. . obrigatoriamente.2 3 FROM FUNC.2) e um nome de coluna (cd_mat) na cláusula Select. podemos especificar que condições devem ser satisfeitas para a obtenção destes dados. 'DD/MM/YYYY').14 – SELECT básico Na Sintaxe 2. que é um dos comandos mais ricos da linguagem. Sintaxe 2. FORMA BÁSICA DO COMANDO SELECT A forma básica de um comando SELECT é apresentada a seguir. encerramos nosso estudo preliminar do SQL*Plus. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. utilizaremos as tabelas apresentadas no tópico Criação da Base Relacional (no Capítulo 1). criem novos dados ou excluam dados das tabelas do banco de dados. uma vez que não existem restrições quanto às linhas lidas da tabela. No exemplo da Listagem 2. INTRODUÇÃO Retomaremos. 2 VL_SAL * 1. modifiquem informações existentes. a fim de formatarmos o resultado de um comando executado ou modificarmos características de execução da ferramenta. As consultas aos dados são feitas através do comando SELECT.14. FUNDAMENTOS EM: CONSULTA À BASE DE DADOS PRÉ-REQUISITOS ♦ Conhecimentos teóricos e práticos de modelagem de dados e da teoria relacional. devemos especificar que dados devem ser trazidos. METODOLOGIA ♦ Apresentação e descrição da sintaxe básica de um comando Select. Listagem 2. Conhecimentos de SQL*Plus para edição e execução de comandos. TÉCNICA ♦ Exemplificação de uso com indicação dos resultados obtidos. Repita este exemplo e você verificará que todas as linhas da tabela Func são apresentadas no resultado. Para os testes iniciados a partir deste ponto. pois já estamos em condições de editar e executar os comandos de SQL que trataremos de agora em diante. Como já vimos anteriormente.17 usamos uma função (to_char). uma expressão matemática (vl_sal * 1. o estudo da linguagem SQL. a DML é a parte da SQL que permite que os usuários façam consultas.17 – Select SQL> SELECT CD_MAT. TO_CHAR(DT_NASC. As informações a serem trazidas do banco de dados podem ser compostas de nomes de colunas. CAPÍTULO 2 – SQL E SQL*PLUS antigo 3: WHERE NR_GIT > &1 AND CD_DEPTO = '&2. CURSO COMPLETO00✦ 37 Para uso pessoal. opcionalmente. Posteriormente voltaremos a estudar outro grupo de comandos do Plus. funções ou expressões.11' novo 3: WHERE NR_GIT > 17 AND CD_DEPTO = 'D11' Com este comando. agora. verificamos que num comando SELECT.

a largura é determinada pelas variáveis de sistema Longchunksize ou Long. Nchar. O USO DE ALL VERSUS DISTINCT OU UNIQUE Quando realizamos uma seleção de dados do banco. sendo que seu tamanho mínimo é dado pela variável de sistema NumWidth (do SQL*Plus). 'DD/MM/YYYY'). as informações foram trazidas na ordem de seleção. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.20.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS RESTRINGINDO A CONSULTA As restrições são estabelecidas com o uso da cláusula Where. Para as colunas de data. esta informação foi armazenada em letras maiúsculas. na coluna cd_depto da tabela Func. estamos informando ao Oracle que desejamos obter todas as colunas da tabela referenciada na cláusula From. Listagem 2. Para as colunas alfanuméricas. Observe o exemplo da Listagem 2. Varchar2. Para a montagem do resultado.18 – Where SQL> SELECT cd_MAT. É com esta cláusula que determinamos que linhas devem ser selecionadas. Listagem 2. O alinhamento é pela direita.18. Para as colunas numéricas. Neste exemplo. Se você observar detalhadamente o exemplo. o tamanho é determinado pelo cabeçalho da coluna. to_char(dt_NASC.19 – Select com Where SQL> select * from func 2 WHERE CD_MAT = 100. Clob ou Nclob. Varchar ou Nvarchar2) e o alinhamento é pela esquerda. Já no exemplo da Listagem 2. o que for menor. Listagem 2. Qual o resultado encontrado? Imaginemos agora que desejamos obter informações de todas as colunas da tabela Func para o funcionário com matrícula 100. o tamanho é determinado pela máscara de edição default em uso na sessão (obtida pela NLS do banco de dados ou da estação) ou pela máscara de edição específica modificada pelo uso da função To_Char. 38 ✦00CURSO COMPLETO Para uso pessoal. eventualmente podem ocorrer linhas duplicadas no resultado gerado. Estas colunas são apresentadas na mesma ordem em que foram criadas na tabela correspondente. Todos estes padrões podem ser modificados com o uso do comando Column do SQL*Plus. Repita o exemplo anterior comparando cd_depto com a string ‘a00’.18. Para as colunas Long. desta forma. verificará que a forma como foi escrito o comando SELECT mistura letras maiúsculas e minúsculas indiscriminadamente e sem problemas de execução. uma vez que mencionamos explicitamente o que desejávamos obter. porém a string ‘A00’ deve ser escrita em letras maiúsculas. o alinhamento é pela esquerda. . 2 VL_sal * 1. o SQL*Plus tem a necessidade de determinar o tamanho de cada coluna para que possa definir o layout de apresentação. existem alguns padrões de layout de acordo com o tipo de coluna. o tamanho da coluna é determinado por sua definição na tabela do banco de dados (Char. como na Listagem 2.2 3 FROM fUNc 4 WhErE cD_dEpTO = 'A00'. só os funcionários que trabalham no departamento A00 são apresentados no resultado. uma vez que. Em ambos os casos.20 – All implícito SQL> SELECT CD_DEPTO 2 FROM FUNC 3 WHERE IN_SEXO = 'M'. Ao utilizarmos o símbolo * (asterisco).

< (menor).21. Observe. NR_CARGO 2 FROM FUNC 3 WHERE CD_DEPTO = 'D11' AND NR_CARGO = 55. ou SQL> SELECT CD_MAT. as restrições estabelecidas na cláusula Where utilizaram apenas a igualdade como operador de comparação. Listagem 2.24 a seguir. <> (diferente) e != (diferente). agora. indicamos restrições que podem ou não acontecer simultaneamente. porém a sintaxe do comando permite a utilização dos seguintes operadores: = (igual). e fazem referência a toda a linha e não apenas à primeira coluna. <= (menor ou igual). porém que tenham cargo maior que 54. CD_DEPTO. CD_DEPTO. MUDANDO A PRECEDÊNCIA DAS OPERAÇÕES A utilização dos parênteses é permitida na sintaxe da cláusula Where e pode ser muito útil quando desejamos alterar a precedência de execução das operações. OPERADORES DE COMPARAÇÃO Até este momento. NM_FUNC. Veja os exemplos da Listagem 2. A palavra NOT também pode ser usada para estabelecer uma negação.21 – Distinct SQL> SELECT distinct CD_DEPTO 2 FROM FUNC 3 WHERE IN_SEXO = 'M'. CURSO COMPLETO00✦ 39 Para uso pessoal. Listagem 2. Estas palavras-chave devem ser codificadas imediatamente após a cláusula Select. estas condições devem ser combinadas através das palavras And ou Or. indicamos restrições que devem acontecer simultaneamente. por default. Listagem 2. As palavras DISTINCT e UNIQUE são sinônimas. Listagem 2.24 – And e Or SQL> SELECT CD_MAT. NM_FUNC. As palavras-chave são ALL (todas as linhas devem ser selecionadas) e DISTINCT ou UNIQUE (apenas as linhas distintas devem ser selecionadas). > (maior). ambas obrigatórias. NM_SOBRENOME 2 FROM FUNC 3 WHERE NR_CARGO > 56. CAPÍTULO 2 – SQL E SQL*PLUS Isto ocorre porque a cláusula Select possui duas palavras-chave que podemos utilizar para indicar se desejamos que todas as linhas sejam selecionadas (mesmo correndo o risco de obtermos duplicidades) ou se desejamos que apenas as linhas distintas sejam selecionadas. Quando não mencionamos nenhuma das opções. >= (maior ou igual). USANDO AND E OR Se desejamos colocar mais de uma condição de restrição na cláusula Where. a diferença no resultado gerado na Listagem 2. Com a palavra Or.22 – Operador de comparação SQL> SELECT CD_MAT. ^= (diferente). todas as linhas são selecionadas. NR_CARGO 2 FROM FUNC 3 WHERE NOT NR_CARGO > 48. Com a palavra And. NM_FUNC. NM_FUNC.23 – Not SQL> SELECT CD_MAT. . Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. NR_CARGO 2 FROM FUNC 3 WHERE CD_DEPTO = 'A00' OR NR_CARGO = 56. No exemplo da Listagem 2.25 são selecionados funcionários de um dos departamentos D11 ou D21.

. minuto e segundo. Pode ser usado na cláusula Where juntamente com outras condições. Pode ou não ser precedido por NOT.1 2 FROM FUNC 3 WHERE VL_SAL > NR_GIT * NR_CARGO * 4. Listagem 2. CD_DEPTO 2 FROM FUNC 3 WHERE DT_NASC BETWEEN TO_DATE('01011970'.1/86400. Como as datas armazenadas no banco de dados comportam hora.1. desejamos selecionar todos os funcionários com data de nascimento entre 01/01/70 e 31/12/71. NM_FUNC. CD_DEPTO 2 FROM FUNC 3 WHERE CD_MAT BETWEEN 100 AND 140. OPERADORES ARITMÉTICOS E DE CONCATENAÇÃO Os símbolos indicativos de operações aritméticas são + (soma).(menos unário) e + (mais unário). desejamos obter informações sobre todos os funcionários que possuam matrícula entre 100 e 140.28 – Between com valores de data SQL> SELECT CD_MAT. Estes operadores podem ser usados em expressões na cláusula Select para definir uma expressão ou na cláusula Where para estabelecer uma condição complexa. alfanuméricos e até mesmo datas. Este predicado compara uma expressão em um intervalo de valores.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Observe a diferença de resultado quando retiramos os parênteses. . O primeiro que estudaremos é o predicado Between. Neste caso. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. de tal forma que todos os funcionários nascidos até às 23:59:59 do dia 31/12/71 pudessem ser selecionados. optamos por transformar uma constante com data de 01/01/72 e subtrair da mesma 1 segundo (1/86400). CD_DEPTO. VL_SAL * -1. NM_FUNC. Listagem 2. Este predicado compara valores correspondentes à coluna mencionada. NR_CARGO 2 FROM FUNC 3 WHERE (CD_DEPTO = 'D11' OR CD_DEPTO = 'D21') 4 AND NR_CARGO > 54. O Oracle considera este símbolo como o sinal do número (menos unário) e não uma operação de subtração. A concatenação é indicada com os símbolos || (duas barras verticais). SELECIONANDO UM INTERVALO DE VALORES – BETWEEN Um predicado nada mais é que uma qualificação a ser incluída na cláusula Select. Os funcionários com as matrículas 100 e 140 também são incluídos no resultado. Neste caso. 40 ✦00CURSO COMPLETO Para uso pessoal. * (multiplicação). .27 – Between SQL> SELECT CD_MAT. são selecionados os funcionários do departamento D11 (todos) e ainda aqueles do departamento D21 que tenham cargo maior que 54.1).25 – Uso de parênteses SQL> SELECT CD_MAT.26 que o valor do salário está sendo multiplicado por um número negativo (- 1.(subtração). Listagem 2.26 – Concatenação SQL> SELECT NM_FUNC || NM_SOBRENOME. Observe no exemplo da Listagem 2. 'DDMMYYYY') 4 AND TO_DATE('01011972'. Podemos comparar valores numéricos. Listagem 2. 'DDMMYYYY') . NM_FUNC. Neste primeiro exemplo. / (divisão).

neste caso. Já o sublinhado determina a substituição de exatamente um caracter. os caracteres % (porcentagem) e _ (sublinhado) adquirem significado especial. 'C01'. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. A segunda. 320). Se utilizarmos a palavra NOT na comparação. e exclusivamente com ele. 'D11'. NM_FUNC.32 – Like com escape SQL> SELECT CD_MAT. A sintaxe Not Like também é permitida.31). aparece o caracter porcentagem três vezes.31 – Like SQL> SELECT CD_MAT. Na cláusula Like. Veja exemplo na Listagem 2. Se desejássemos saber quais os funcionários que tivessem a letra “A” em seu nome. Da mesma forma que o predicado Between. TX_MOTIVO 2 FROM HST_PROMO 3 WHERE TX_MOTIVO LIKE '%/%%' ESCAPE '/'. foram selecionados todos os funcionários cujo nome começasse com a letra “E” e que trabalhassem em um departamento cujo código tivesse três caracteres. .29 – In SQL> SELECT CD_MAT. 'D21'). o símbolo de porcentagem deveria ser considerado um caracter normal apto para pesquisa. CD_DEPTO 2 FROM FUNC 2 WHERE CD_DEPTO NOT IN ('A00'. qual a sintaxe necessária? Os caracteres porcentagem e sublinhado. uma vez que é precedida pelo caracter de escape (/). NM_FUNC. Listagem 2. Listagem 2. então. CD_DEPTO. datas ou valores numéricos.30 – Not In SQL> SELECT CD_MAT. CD_DEPTO 2 FROM FUNC 3 WHERE NM_FUNC LIKE 'E%' 4 AND CD_DEPTO LIKE 'D_1'. A primeira e a última indicam que pode haver qualquer número de caracteres (de 0 a n) antes e depois do texto a ser pesquisado. PESQUISANDO O CONTEÚDO DE UM TEXTO – LIKE O predicado Like permite que pesquisemos o texto de uma determinada coluna (ou expressão). NM_FUNC. CD_DEPTO 2 FROM FUNC 3 WHERE CD_MAT IN (10. Listagem 2. A porcentagem indica a substituição de um número qualquer de caracteres (de 0 a n). CAPÍTULO 2 – SQL E SQL*PLUS SELECIONANDO UMA LISTA DE VALORES – IN O predicado IN torna possível a comparação do conteúdo de uma coluna (ou expressão) com uma lista de valores. Teríamos a necessidade de indicar que. serão obtidas as linhas em cuja coluna (ou expressão) não existam valores iguais a quaisquer daqueles da lista. que desejássemos pesquisar a existência do caracter % num texto de uma determinada coluna de tabela. O caracter de escape é definido pela cláusula Escape e pode ser qualquer caracter exceto % e _ (underscore). Listagem 2. 100. CURSO COMPLETO00✦ 41 Para uso pessoal. podemos comparar valores alfanuméricos. por possuírem um significado especial. Suponhamos. A comparação retornará verdadeira se o conteúdo da coluna (ou expressão) for igual a qualquer dos valores presentes na lista. indica que este é o texto que desejamos pesquisar. No exemplo (Listagem 2. o primeiro fosse “D” e o terceiro fosse “1”. não podem ser usados normalmente na string de pesquisa. No predicado Like. precisamos indicar ao Oracle que estamos pesquisando exatamente aquele caracter.32.

Listagem 2. NM_DEPTO 2 FROM DEPTO 3 WHERE CD_GERENTE >= NULL. estas não são gravadas no banco de dados. através da descrição da tabela.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS PESQUISANDO UM VALOR DESCONHECIDO – IS NULL Quando incluímos uma linha em uma tabela e não informamos valor para todas as colunas. . CD_ NM_DEPTO --. não há linhas selecionadas SQL> SELECT CD_DEPTO.) uma vez que. é possível que o banco de dados. podemos contornar esta situação (se desejarmos) limitando a busca a uma determinada partição. >=. o resultado da comparação também seria desconhecido. No exemplo (Listagem 2. NM_DEPTO 2 FROM DEPTO 3 WHERE CD_GERENTE IS NULL. Anos90_94. o que não produziu nenhuma linha como resultado.34) de como a cláusula Where faz referência à data da promoção. Faça outros testes utilizando comparações com esta coluna e você comprovará que. todas serão selecionadas. como mostrado na Listagem 2. É a expressão Is Null. conseguirá obter a linha em que a coluna cd_gerente não está preenchida. Listagem 2. não há linhas selecionadas SQL> SELECT CD_DEPTO.34 – Tabela particionada SQL> SELECT CD_MAT. o Oracle direcionará a consulta para uma ou mais partições. Um valor ausente não pode ser comparado com outros valores através dos operadores de comparação normais (>. ou seja. De acordo com a sintaxe apresentada. Desta forma. Se a pesquisa. bastando que mencionemos a cláusula Partition após a cláusula From. etc. apenas quando vier a utilizar a expressão Is Null. Isto quer dizer que a tabela está fisicamente subdividida em partições de acordo com o valor de uma ou mais colunas.33. CONSULTANDO DADOS DE UMA TABELA PARTICIONADA A tabela Hst_Promo é uma tabela particionada. não fornecer possibilidade de o Oracle restringir a busca a determinadas partições. =. seu valor está ausente. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Anos95_99 e Anos2000. NM_DEPTO 2 FROM DEPTO 3 WHERE CD_GERENTE = NULL. <.--------------------- D01 DIRETORIA DE SISTEMAS No exemplo. O Oracle possui uma expressão específica para obtermos informações das linhas que tenham uma determinada coluna sem valor. VL_SAL. <=. dizemos que o valor para aquela coluna é ausente ou indeterminado. A consulta em uma tabela com estas características pode ser feita normalmente. a tabela está particionada em relação à coluna dt_promocao e foram estabelecidas quatro partições de nomes Anos80. perceba que só há necessidade de pesquisar a partição Anos90_94.35. sendo seu valor desconhecido. tentamos comparar o valor ausente com NULL através dos operadores >= (maior ou igual) e = (igual). por outro lado. CD_DEPTO 2 FROM HST_PROMO 3 WHERE DT_PROMOCAO BETWEEN '01/01/91' AND '01/01/93'. Veja Listagem 2. No nosso caso (veja o layout da tabela no tópico Criação da Base Relacional). Utilizando uma sintaxe própria do comando SELECT.33 – Null SQL> SELECT CD_DEPTO. 42 ✦00CURSO COMPLETO Para uso pessoal. que é justamente a coluna sobre a qual ocorre o particionamento.

2. 2. que não precisam ser consultados todo o tempo e que. 2. podem trazer significativo ganho na performance das aplicações diárias. Update e Delete.04) Deseja-se uma lista contendo código e nome do projeto para todos os projetos que possuam o texto “AMA” em algum lugar de seu nome. TÉCNICA ♦ Atualização dos dados armazenados utilizando a sintaxe descrita seguida de consulta a estes dados. nome e departamento) de todos os funcionários que estejam alocados aos departamentos A00. 2. CAPÍTULO 2 – SQL E SQL*PLUS Listagem 2.08) Deseja-se uma lista (matrícula.09) Deseja-se saber quais os funcionários (matrícula. B01 ou C01.07) Deseja-se uma lista contendo código do departamento e nome do departamento de todos os departamentos em que o código do departamento contábil não está preenchido. CURSO COMPLETO00✦ 43 Para uso pessoal. temos que somente os projetos em cujo código existam os números 21 como terceiro e quarto caracter devem ser pesquisados. cargo e departamento) que foram cadastrados na partição Anos95_99 da tabela de histórico de promoções. primeiro e último nome e cargo de todos os funcionários do sexo feminino que tenham cargo superior a 55.03) Repita o exercício anterior de tal forma que a letra pesquisada seja fornecida por variável de substituição na linha do comando. Capacidade de consultar os dados armazenados. EXERCÍCIOS A solução dos exercícios propostos aqui está no último tópico deste Capítulo. O uso de tabelas particionadas pode ser muito útil. 2.01) Deseja-se uma lista que contenha número da matrícula. FUNDAMENTOS EM: ATUALIZAÇÃO DA BASE DE DADOS PRÉ-REQUISITOS ♦ Conhecimento do modelo de dados em uso. CD_DEPTO 2 FROM HST_PROMO PARTITION (ANOS90_94) 3 WHERE CD_DEPTO IN ('E11'. intitulado Resolução dos Exercícios Propostos. .35 – Cláusula Partition SQL> SELECT CD_MAT. não deve haver repetição de código de departamento. VL_SAL. Salve todos os exercícios em arquivos de trabalho.02) Deseja-se uma lista que contenha número de matrícula. 'C01'). 2. METODOLOGIA ♦ Apresentação e descrição da sintaxe básica dos comandos Insert. Tente resolver toda a lista primeiro e só no final verifique as respostas.06) Deseja-se uma lista contendo os códigos de departamento para os departamentos que possuam funcionários.05) Obtenha a descrição da tabela Funcionário. 2. estando armazenados em áreas (tablespaces) separadas das linhas mais freqüentemente utilizadas da tabela. Se as respostas estiverem difíceis de conferir refaça a carga das tabelas com o sript L01_17. Como restrição adicional.sql 2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. nome e sobrenome do funcionário em cujo sobrenome não seja encontrada a letra “E”. Na listagem-resposta. 2. justamente para dados históricos.

NULL. Uma vez que a coluna dt_promocao é de preenchimento obrigatório. NULL. No segundo caso. 1874. precisamos associar valores a cada uma das colunas. Sua forma básica é apresentada na Sintaxe 2. Desta forma. CD_DEPTO. 'D21'. 272. Suponhamos que desejássemos incluir duas novas linhas na tabela de funcionários. NULL. . No próximo exemplo. Quando não possuímos valor para uma determinada coluna. 1950. 'F'. informamos valores apenas para estas colunas. 4 NULL. de outros schemas e ainda de outros bancos de dados (@<dblink>). NR_CARGO.15 – Insert básico Com esta sintaxe. Faça um Describe da tabela Func e verifique a ordem em que as colunas foram criadas na tabela. 44 ✦00CURSO COMPLETO Para uso pessoal. 55. Sintaxe 2.15 a seguir.36. SQL> INSERT INTO FUNC 2 VALUES 3 (274. Observe as diferenças sintáticas nos exemplos da Listagem 2. 1 linha criada. 'Jorio'. sendo assim. porém não dispomos de informações completas destes novos funcionários. podemos definir que os valores sejam cadastrados em uma determinada partição de uma tabela específica. 'D11'. estudaremos separadamente cada uma das opções apresentadas. foram mencionadas as colunas que desejávamos preencher. 1 linha criada. será em função dela que o Oracle descobrirá em que partição deve incluir cada uma das linhas. faremos a inclusão de dados sem mencionar em que partição a inclusão deve ser realizada. A seguir. podemos incluir linhas em tabelas locais.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS INCLUINDO NOVAS LINHAS – INSERT BÁSICO O primeiro comando que estudaremos será o comando Insert. No primeiro Insert. CD_MAT. VL_SAL. CD_MAT. Esta é a ordem em que devemos fornecer informações para a segunda forma sintática. as colunas da tabela não foram mencionadas. 272. podemos utilizar a palavra-chave NULL. IN_SEXO. 'Laura'. NULL). TX_MOTIVO) 3 VALUES 4 ('01/01/99'. Listagem 2. indicando que a coluna específica não será gravada no banco de dados. SQL> SELECT * 2 FROM HST_PROMO PARTITION (ANOS95_99) 3 WHERE CD_MAT = 272. NM_FUNC. 'Enquadramento'). Listagem 2. NM_SOBRENOME) 3 VALUES 4 (1838. 'D21'. 'Elizabeth'. 'F'. Finalmente. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 1 linha criada.37 – Insert em tabela particionada SQL> INSERT INTO HST_PROMO 2 (DT_PROMOCAO. A inclusão pode ser feita linha a linha ou os valores podem ser obtidos de outra(s) tabela(s) do banco de dados de tal forma que a inclusão de diversas linhas pode ser feita com um único comando Insert. CD_DEPTO.36 – Insert SQL> INSERT INTO FUNC 2 (VL_SAL. 'Pereira'). NULL.

4 linhas criadas. NM_FUNC. Listagem 2. NR_CARGO. tentamos incluir uma matrícula já existente. garantindo a integridade lógica da informação armazenada. INSERT INTO FUNC * ERRO na linha 1: ORA-00001: restrição exclusiva (DESENV. apesar de informarmos o nome da partição. Listagem 2. 'M'). quando. porém foi obrigatória sua modificação. 'M'). CURSO COMPLETO00✦ 45 Para uso pessoal.40 – Integridade referencial SQL> INSERT INTO FUNC 2 (CD_MAT. INSERT INTO HST_PROMO PARTITION (ANOS2000) * ERRO na linha 1: ORA-14401: chave inserida da partição esta fora da partição especificada SQL> INSERT INTO HST_PROMO PARTITION (ANOS95_99) 2 (DT_PROMOCAO. NM_SOBRENOME. TX_MOTIVO) 3 VALUES 4 ('01/01/99'. 'A00'. CAPÍTULO 2 – SQL E SQL*PLUS Neste exemplo (Listagem 2. IN_SEXO) 3 VALUES 4 (100. NM_SOBRENOME. Observamos que o Oracle. NM_FUNC.SYS_C00642) violada SQL> INSERT INTO FUNC 2 (CD_MAT. 274. 1950. 274. 'D11'. Observe que o novo código da matrícula foi derivado do valor antigo. faz a verificação e impede que façamos a inclusão na partição incorreta. CD_DEPTO. NM_SOBRENOME. pois cd_mat é primary key da tabela Func.SYS_C00642) violada. a consulta se restringe à partição mencionada. . IN_SEXO) 3 VALUES 4 (101. No primeiro comando. onde nos é mostrada qual a regra de integridade que foi violada (SYS_C00642). NM_FUNC. 55. 'Enquadramento'). 1950. 'Teste'. CD_MAT.40. 'Duplicidade'. NR_CARGO. No exemplo da Listagem 2. CD_DEPTO. As linhas foram obtidas da própria tabela Func para efeito de teste.39 – Insert com Select SQL> INSERT INTO FUNC 2 (CD_MAT. o Oracle pode determinar qual a partição mais adequada para a inclusão da nova linha. O comando Select apresentado já menciona o nome da partição.37).39. VL_SAL. Sendo assim. TX_MOTIVO) 3 VALUES 4 ('01/01/99'. na verdade. 4 'D01'. 55. Neste exemplo. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. VL_SAL. a data da promoção era de 1999. apesar de não mencionarmos em qual partição desejávamos que fosse feita a inclusão das linhas. o que causou a mensagem de erro ORA- 00001: restrição exclusiva (DESENV. CD_MAT. Listagem 2. INSERT INTO FUNC * ERRO na linha 1: ORA-02291: restrição de integridade (DESENV. 'Teste'. foram feitas duas tentativas de inclusão que resultaram em falha. Isto significa que o Oracle não admitirá duas linhas com o mesmo valor de matrícula. CD_DEPTO. IN_SEXO 5 FROM FUNC 6 WHERE CD_DEPTO = 'E21'. NM_FUNC.38 – Insert com a cláusula Partition SQL> INSERT INTO HST_PROMO PARTITION (ANOS2000) 2 (DT_PROMOCAO. 'Enquadramento'). 'XXX'. em função da especificação feita no momento da criação da tabela para a coluna dt_promocao. o comando Insert foi utilizado para efetuar a inclusão de diversas linhas simultaneamente. 1 linha criada. CD_DEPTO. NM_SOBRENOME. 'Estrangeira'. este é o nome da restrição de primary key da tabela Func. IN_SEXO) 3 SELECT CD_MAT + CD_MAT / 20. tentamos incluir linhas na partição Anos2000. CD_DEPTO.SYS_C00643) violada - chave-pai não localizada Na Listagem 2. 'D11'.

Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. pode não fazer sentido a utilização desta cláusula.SYS_C00643) violada – chave-pai não localizada. 'Returning'. a mensagem de erro ORA-02291: restrição de integridade (DESENV. o comando Update possui uma cláusula Where. declaramos duas variáveis no SQL*Plus (será visto no item Conhecendo Mais Sobre o SQL*Plus) e as utilizamos para receber o valor retornado. Verifique qual a mensagem de erro obtida. porém. RETORNANDO INFORMAÇÕES DOS DADOS INCLUÍDOS Em relação à sintaxe do comando Insert ainda nos resta um teste para fazer. NR_GIT = DEFAULT 3 WHERE CD_MAT IN (272. faremos a atualização do ramal e grau de instrução dos dois novos funcionários contratados (matrículas 272 e 274). IN_SEXO) 3 VALUES 4 (101. o Oracle faz um Select implícito no banco de dados. PL/SQL. a qual determinará que linhas serão modificadas. . que se refere à cláusula Returning. fizemos a tentativa de incluir uma linha com matrícula válida. uma pesquisa para determinar que linhas atendem à cláusula Where presente no comando.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS No segundo comando. veremos que pode ser interessante obter como retorno o endereço lógico de gravação da linha. A palavra DEFAULT atribuída à coluna NR_GIT indica que o valor da coluna será obtido da definição (DEFAULT) dada pelo DBA quando criou a tabela. Esta cláusula permite que obtenhamos alguma informação da linha que está sendo incluída. :NOME. Diferentemente do comando Insert. nos informa novamente qual a regra de integridade referencial violada (SYS_C00643). 'M') 5 RETURNING CD_MAT. ou ainda a referência a um objeto tabela (object table). 2 linhas atualizadas. Listagem 2. sua validação será feita pelo banco de dados e nenhuma tentativa de violação será aceita. todas as linhas serão modificadas. chamado de ROWID. posteriormente.41 – Cláusula Returning SQL> VARIABLE MAT NUMBER SQL> VARIABLE NOME VARCHAR2(20) SQL> INSERT INTO FUNC 2 (CD_MAT. Todas estas regras são definidas pelo DBA quando da criação da tabela. NM_FUNC. CD_DEPTO. Se esta coluna não possuir um valor default definido. No exemplo. independente do modo como o usuário faça a inclusão ou alteração dos dados (SQL*Plus. Para encontrar estas linhas. Neste caso. Caso não seja informada nenhuma cláusula Where. Estas regras de integridade estabelecidas no banco de dados garantem que. Listagem 2. Experimente. Forms Builder. incluir linha com um valor inválido para a coluna in_sexo (válidos são F e M escritos com letras maiúsculas). 'Teste'.42 – Update SQL> UPDATE FUNC 2 SET NR_RAMAL = 4176. agora. Neste primeiro exemplo. 'A00'. ALTERANDO LINHAS EXISTENTES – UPDATE BÁSICO O comando Update tem a finalidade de alterar informações já gravadas na base de dados. 274).). NM_FUNC INTO :MAT. Reports Builder. NM_SOBRENOME. porém contendo um código de departamento que não existe na tabela Depto. lhe será atribuído NULL. etc. 46 ✦00CURSO COMPLETO Para uso pessoal. SQL> PRINT MAT MAT --- 101 À primeira vista. O comando Print também é um comando do SQL*Plus e será visto no mesmo item.

Faça este teste. Observe que o Select interno possui uma cláusula Where que determina os valores a serem obtidos e o comando Update também possui uma cláusula Where para determinar quais linhas serão atualizadas. porém no lugar de matrícula 10 na restrição do Select utilize matrícula maior que 10. 2 linhas atualizadas. indica que a subquery só pode retornar uma linha para ser usada como atribuição nas colunas a serem atualizadas. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.44 – Update em tabela particionada SQL> UPDATE HST_PROMO 2 SET TX_MOTIVO = 'Informação inicial do funcionário' 3 WHERE TX_MOTIVO = 'ADMISSÃO'. bastaria que omitíssemos a cláusula Where. . CURSO COMPLETO00✦ 47 Para uso pessoal. calcular 90% do salário e. Para realizarmos esta atualização. todas as partições serão consultadas para verificação da condição de seleção. 3 linhas atualizadas. CAPÍTULO 2 – SQL E SQL*PLUS Sintaxe 2. Substitua o cargo para 66 (caso contrário. 32 linhas atualizadas. A mensagem de erro apresentada ORA-01427: a subconsulta de uma única linha retorna mais de uma linha. Primeiramente sem mencionar a partição e posteriormente indicando qual a partição a ser modificada. No próximo exemplo. a restrição presente na cláusula Where somente será verificada para esta partição. NR_CARGO) = (SELECT VL_SAL * . NR_CARGO 3 FROM FUNC 4 WHERE CD_MAT = 10) 5 WHERE NR_CARGO = 58. Listagem 2. Experimente repetir o exemplo. O comando Update poderia ser utilizado de forma que o novo salário fosse igual ao anterior mais 10%.16 – Update básico Suponhamos que desejássemos alterar o salário de todos os funcionários em 10%. então. Quando mencionamos a partição. nenhuma linha estará apta para atualização). SQL> UPDATE HST_PROMO PARTITION(ANOS95_99) 2 SET TX_MOTIVO = 'Alteração de salário devido a enquadramento' 3 WHERE TX_MOTIVO = 'Enquadramento'. fazer a atribuição aos funcionários com cargo 58. tentaremos atualizar o salário e cargo dos funcionários com cargo 58 para que ganhem 90% do salário da gerente Cristina Henderson (matrícula 10) e o mesmo cargo. Para que todos os funcionários fossem atualizados. Listagem 2. precisaremos consultar os dados para obter o salário e cargo do gerente. Sua sintaxe permite que na cláusula de atribuição façamos uma busca para obtenção do valor a ser atribuído. No exemplo apresentado. Daremos um exemplo a seguir que fará a atualização dos dados em uma tabela particionada (Hst_Promo). todas as operações foram feitas em um único comando Update. Se não mencionarmos a partição.43 – Update com Select SQL> UPDATE FUNC 2 SET (VL_SAL.9.

o gerente do departamento D11. já que não pudemos declarar no SQL*Plus uma variável com o tipo de que necessitávamos. tentaremos obter o endereço da linha atualizada e determinada pela matrícula. No primeiro comando Delete executado. . Listagem 2. que foi escrito exatamente igual à forma como estava armazenado.17 – Delete básico Nosso primeiro exemplo removerá aquela funcionária recém-contratada “Elizabeth Jorio” e. conforme nosso desejo. não encontraremos a linha na base de dados. Na Listagem 2. Caso esta cláusula não seja informada. 1 linha atualizada. A sintaxe dos comandos de SQL pode ser escrita em letras maiúsculas ou minúsculas. a cláusula Where será a responsável por determinar que linhas poderão ser removidas. Em uma pesquisa posterior. EXCLUINDO LINHAS DA BASE DE DADOS – DELETE BÁSICO Veremos agora como excluir linhas cadastradas no banco de dados. 48 ✦00CURSO COMPLETO Para uso pessoal. uma vez que os comandos não são sensíveis à utilização de maiúsculas ou minúsculas.45. declaramos uma variável BIND no SQL*Plus do tipo alfanumérica e utilizamos a função ROWIDTOCHAR para converter o formato ROWID para o formato alfanumérico. Da mesma forma que o comando Update. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. o comando tentará remover todas as linhas da tabela informada. utilizamos a pesquisa pelo nome Elizabeth. A forma básica do comando Delete está descrita na Sintaxe 2. SQL> PRINT :END_LINHA END_LINHA ------------------ AAAAd/AACAAAAGkAAU Neste exemplo apenas uma linha foi atualizada. devemos igualar a coluna a um valor constante escrito exatamente da mesma forma que foi armazenado. deveríamos declarar um host array (por exemplo. As funções de SQL serão tratadas ainda neste capítulo no tópico Modificando o Resultado com Funções e a declaração de variáveis no SQL*Plus no tópico Conhecendo Mais Sobre o SQL*Plus. Na cláusula Where. Caso contrário.17 a seguir. Os tipos das colunas retornadas e os elementos do array devem ser compatíveis. O que aconteceria se tivéssemos feito a pesquisa com o nome escrito com todas as letras em maiúsculas? Faça este teste você mesmo. ainda. Já o conteúdo de uma coluna depende da forma como a informação foi armazenada. um nível 01 do Cobol) para receber a informação. além do que o número de linhas retornadas não pode exceder ao tamanho do array. para que fosse possível o retorno das informações de diversas linhas. conseguimos remover a funcionária desejada.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS RETORNANDO INFORMAÇÕES DOS DADOS ALTERADOS Como último teste relativo ao comando Update.45 – Cláusula Returning SQL> VARIABLE END_LINHA VARCHAR2(20) SQL> UPDATE FUNC 2 SET VL_SAL = (SELECT VL_SAL FROM FUNC 3 WHERE CD_MAT = 110) 4 WHERE CD_MAT = 230 5 RETURNING ROWIDTOCHAR(ROWID) INTO :END_LINHA. Sintaxe 2.

SYS_C00650) violada – registro filho localizado. 1 linha deletada. tirarmos sua referência da tabela de Departamentos. todas as partições são pesquisadas. DELETE FROM FUNC WHERE CD_MAT = 60 * ERRO na linha 1: ORA-02292: restrição de integridade (DESENV. A restrição de integridade que garante esta regra se chama SYS_C00650. estamos restringindo a pesquisa a esta partição. tornando a execução do comando mais eficiente. 1 linha deletada. 8 linhas deletadas. apenas uma linha é removida do banco de dados. Neste caso. Desta forma.48).48 – Cláusula Returning SQL> VARIABLE MAT NUMBER SQL> DELETE FROM FUNC 2 WHERE NM_FUNC = 'Laura' 3 RETURNING CD_MAT INTO :MAT. Listagem 2. Listagem 2. Salve todos os exercícios em arquivos de trabalho. . Listagem 2. CAPÍTULO 2 – SQL E SQL*PLUS No segundo comando Delete executado. CURSO COMPLETO00✦ 49 Para uso pessoal. indica que foi encontrado um registro subordinado ao registro de funcionário que desejávamos remover. mencionando o nome da partição desejada. pudemos obter o número da matrícula da linha removida em uma variável Bind declarada no SQL*Plus. Tente resolver toda a lista primeiro e só no final verifique as respostas. SQL> PRINT MAT MAT --- 272 EXERCÍCIOS A solução dos exercícios propostos aqui está no fim deste capítulo. Quando mencionamos o nome da partição. SQL> DELETE FROM HST_PROMO PARTITION (ANOS95_99) 2 WHERE TX_MOTIVO LIKE '%enquadramento%'. SQL> DELETE FROM FUNC WHERE CD_MAT = 60. Quando isto não ocorre. onde o código do gerente (que corresponde à matrícula do funcionário) se encontra presente na tabela de Departamentos.47 – Delete em tabela particionada SQL> DELETE FROM HST_PROMO 2 WHERE TX_MOTIVO LIKE '%gerencial%'. primeiro. posteriormente. RETORNANDO INFORMAÇÕES DOS DADOS EXCLUÍDOS Neste exemplo (Listagem 2. o Oracle somente permitirá a remoção do funcionário se.SYS_C00650) violada - registro filho localizado A mensagem de erro ORA-02292: restrição de integridade (DESENV. em tópico intitulado Resolução dos Exercícios Propostos. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Inicialmente sem mencionarmos a partição e. não conseguimos remover o gerente do departamento D11 porque existe um relacionamento (veja o modelo de dados) entre a tabela de Departamentos e a tabela de Funcionários. 2 linhas deletadas. Nosso próximo teste será a remoção de linhas de uma tabela particionada.46 – Delete SQL> DELETE FROM FUNC 2 WHERE NM_FUNC = 'Elizabeth'.

2. 2. sem vírgula entre eles. é necessário que os dados na tabela Func sejam atualizados e que sejam incluídas as linhas correspondentes ao valor inicial dos funcionários na tabela de histórico de promoções. O Oracle enviará ao SQL*Plus o valor da coluna indicando o apelido (ou alias) como sendo o nome daquela coluna. O que ocorre? Por quê? FUNDAMENTOS EM: ORDENAÇÃO E SUBCONSULTA PRÉ-REQUISITOS ♦ Conhecimentos básicos dos comandos Select. USANDO APELIDOS A partir de agora.15) Altere o ramal de todos os funcionários do departamento D11 para 1437. 2.18) Exclua todos os funcionários que ganhem mais que o funcionário cuja matrícula é 200.10) Deseja-se incluir dois novos empregados na tabela de funcionários. . bastando que coloquemos o apelido desejado ao lado da expressão (ou nome da coluna). 2. Insert. Este cadastramento é preliminar e.11) Deseja-se.435.743. 50 ✦00CURSO COMPLETO Para uso pessoal.14) Inclua todos os funcionários do departamento D11 no departamento D01.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS 2.13) Tente trocar o código do departamento associado a você para um código de departamento inválido. nome do funcionário Joana Rodrigues Marcelo Salgado salário R$ 1. agora. 2. METODOLOGIA ♦ Apresentação e descrição de cláusulas adicionais para os comandos Select. nem todos os dados são conhecidos. TÉCNICA ♦ Apresentação de problemas resolvidos com a utilização da sintaxe descrita.16) Exclua todas as linhas da partição Anos80. O número da matrícula deve corresponder ao dia do seu aniversário somado ao ano.00 departamento E21 B01 sexo feminino masculino grau de instrução 17 19 cargo 52 55 2. Update e Delete. Update e Delete que permitam ordenação e restrições baseadas em consultas. você verá aparecer nos comandos de SQL apelidos para as colunas (ou expressões) e posteriormente para o nome da tabela. A utilização de apelidos é bastante simples.17) Aumente o salário de todos os funcionários em 10%.12) Inclua-se como funcionário. Utilize as duas sintaxes vistas no item Incluindo Novas Linhas para realizar as inclusões. Esta é uma forma de modificarmos o cabeçalho do resultado gerado. Sabendo-se que a funcionária Joana recebeu ramal 1512 e data de admissão 15/01/99 e que o funcionário Marcelo recebeu ramal 1418 e data de admissão 15/02/99. Insert. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Preencha todas as colunas da tabela. acrescentando ao número da matrícula o valor 340. portanto. 2. O que acontece? Por quê? 2. completar as informações sobre os novos funcionários.00 R$ 1.

OBTENDO OS RESULTADOS EM UMA ORDEM ESPECÍFICA O comando Select possui uma cláusula especial para permitir que as linhas resultantes da consulta sejam apresentadas em uma determinada ordem.52 – Cláusula Order By SQL> SELECT CD_DEPTO. Pelo resultado. a ordenação proposta pela Listagem 2. sendo necessário o uso das aspas para indicar que se tratava de um único nome. CAPÍTULO 2 – SQL E SQL*PLUS Este apelido pode ser informado entre aspas duplas se desejarmos um texto que não seja permitido sintaticamente como nome de coluna Oracle (por exemplo. pelo alias da coluna. Observe que as três primeiras linhas são do departamento A00 e que o primeiro funcionário apresentado possui salário superior aos demais. Este apelido foi utilizado com sucesso na cláusula Order By.49 – Cláusula Order By SQL> SELECT CD_DEPTO. apesar de esta não estar presente na lista de seleção. Listagem 2.50. pelo posicionamento da coluna (ou expressão) ou pelo nome de uma coluna não selecionada. Experimente a utilização sem aspas e verifique o erro recebido. concluímos que a ordenação default é Asc. Listagem 2.52. a qual recebeu o apelido de Projeção. NM_SOBRENOME.50. a ordenação primária é feita pela coluna cd_depto (segunda coluna na lista de seleção) sem que tenhamos fornecido a indicação Asc ou Desc. Esta cláusula é a Order By. . Teste você agora outros tipos de apelidos usando os caracteres especiais do teclado.1 AS “Novo Salário”. Listagem 2.51 – Cláusula Order By SQL> SELECT VL_SAL * 1. ordenamos o resultado por código do departamento ascendentemente e por salário (terceira coluna da lista de seleção) em ordem descendente. CD_GERENTE FROM DEPTO 2 ORDER BY 2. podemos trabalhar com o formato visto no exemplo 2. O que acontece quando ordenamos por uma coluna cujo conteúdo de alguma (ou algumas linhas) está ausente.1).50 – Cláusula Order By SQL> SELECT VL_SAL * 1. No exemplo anterior. A palavra-chave “AS” foi usada para indicar ao Oracle que incluiríamos um apelido para a coluna. VL_SAL 2 FROM FUNC 3 WHERE VL_SAL > 4000 4 ORDER BY CD_DEPTO ASC. o Oracle faz a seleção da coluna. Façamos. Observe nos exemplos que a referência às colunas pode ser feita pelo nome da coluna. utilizamos para apelido um nome composto de duas palavras. Com ela. Listagem 2. Na verdade. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Neste comando Select foi calculada uma expressão (vl_sal * 1. 3 DESC. CD_DEPTO 2 FROM FUNC 3 WHERE VL_SAL > 3000 4 ORDER BY 2. isto não é obrigatório. CURSO COMPLETO00✦ 51 Para uso pessoal.1 PROJEÇÃO. Ainda neste exemplo. ordena o resultado e apenas não envia o valor correspondente para o usuário solicitante. podemos especificar se desejamos ordenação ascendente ou descendente e em relação a que colunas (ou expressões) desejamos efetuar a ordenação. 1 DESC. agora. CD_MAT 2 FROM FUNC 3 WHERE VL_SAL > 4000 4 ORDER BY CD_DEPTO. PROJEÇÃO DESC. Teste este exemplo. um nome composto). Neste primeiro exemplo. Na Listagem 2. a ordenação foi feita pela coluna cd_depto.

Podemos optar por NULLS LAST se desejarmos que estas linhas sejam apresentadas após os demais valores. Na Listagem 2. através dos operadores de comparação. quando a subquery retorna apenas uma linha. Experimente usar ORDER BY 2 DESC e confirme que neste caso o departamento D01 é o primeiro a ser apresentado. a consulta principal não poderia testar apenas a igualdade para uma lista de valores. NM_FUNC. VL_SAL 2 FROM FUNC 3 WHERE CD_DEPTO = (SELECT CD_DEPTO FROM DEPTO 4 WHERE CD_GERENTE = &GER). Suponhamos. agora. CD_DEPTO. estamos selecionando todos os funcionários do gerente cuja matrícula é fornecida como parâmetro. estamos obtendo todos os funcionários que recebam maior salário que o gerente do departamento X (recebido como parâmetro de substituição). VL_SAL 2 FROM FUNC 3 WHERE CD_DEPTO = SOME (SELECT CD_DEPTO FROM DEPTO 4 WHERE CD_DEPTO_CTB = &DEP). pois a restrição é feita pelo código do departamento (que é primary key da tabela Depto).54 a seguir. C01. Listagem 2. Na Listagem 2. VL_SAL 2 FROM FUNC 3 WHERE VL_SAL > (SELECT VL_SAL FROM FUNC 4 WHERE CD_MAT = (SELECT CD_GERENTE FROM DEPTO 5 WHERE CD_DEPTO = '&DEP')). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. A utilização é direta.53 usamos a cláusula NULLS FIRST para que o posicionamento das linhas com valores ausentes seja apresentado antes dos demais valores em ordenação. USANDO SUBQUERY PARA RESTRINGIR O RESULTADO Na cláusula Where dos comandos Select. o subselect retornou apenas uma linha e pudemos comparar o valor retornado diretamente com o valor correspondente na consulta principal. Foram utilizados dois subselects. >=.55 – Subquery SQL> SELECT CD_MAT. Na Listagem 2.). Nos dois exemplos. A execução do comando é iniciada no subselect mais interno até atingir o nível da consulta principal. NM_FUNC.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Podemos observar que a linha em que o gerente não está definido aparece em último lugar. CD_DEPTO.56. a comparação não poderá ser feita apenas com um dos operadores de comparação (>. etc. Listagem 2. D01 e E01).56 – Subquery com Some SQL> SELECT CD_MAT. As palavras-chave a serem usadas juntamente com os operadores de comparação são: 52 ✦00CURSO COMPLETO Para uso pessoal. ou seja.53 – Cláusula Order By com Nulls First SQL> SELECT CD_DEPTO. Listagem 2. Update ou Delete podemos utilizar o resultado de uma subconsulta para restringir o resultado da consulta principal. No exemplo da Listagem 2. a subconsulta retornou diversas linhas (B01. <. CD_DEPTO. que indica “algum”. Neste caso. Listagem 2. então. para ordenação ascendente NULL é considerado “maior valor”. Desta forma.54 – Subquery SQL> SELECT CD_MAT. pois a restrição é feita por cd_mat (que é primary key da tabela Func). que a subconsulta retorne mais de uma linha. O mais interno retorna apenas uma linha. utilizada a palavra-chave Some (ou Any).55. CD_GERENTE FROM DEPTO 2 ORDER BY 2 NULLS FIRST. O segundo também retorna uma única linha. =. NM_FUNC. . Foi.

CD_DEPTO 2 FROM FUNC 3 WHERE CD_MAT IN (SELECT CD_GERENTE FROM DEPTO).21) Deseja-se uma lista (matrícula. 2.24) Deseja-se uma lista (código e nome) dos departamentos que iniciaram projetos em janeiro de 1996.58) foram selecionadas. NM_DEPTO 2 FROM DEPTO 3 WHERE CD_DEPTO <> ALL (SELECT DISTINCT CD_DEPTO 4 FROM FUNC). Além desta combinação de palavras-chave e operadores de comparação para tratamento das subqueries. no caso de NOT IN. cujo conteúdo corresponde ao código da matrícula do funcionário (gerente) na tabela de Funcionários. FUNDAMENTOS EM: GRUPAMENTOS PRÉ-REQUISITOS ♦ Conhecimentos básicos do comando Select.20) Deseja-se excluir todos os departamentos que não possuam funcionários alocados.23) Deseja-se uma lista contendo matrícula.22) Deseja-se uma lista (matrícula. o mesmo significado de <> ALL. CURSO COMPLETO00✦ 53 Para uso pessoal. 2. também podemos utilizar o predicado IN (já visto anteriormente). O gerente do departamento é identificado na tabela Depto através da coluna cd_gerente.57 – Subquery com All SQL> SELECT CD_DEPTO. TÉCNICA ♦ Apresentação de exemplos que desenvolvam as sintaxes descritas em uma seqüência crescente de dificuldade. Listagem 2. 2. apenas informações dos gerentes. . Os funcionários sem salário devem ser apresentados no fim da relação. EXERCÍCIOS 2. CAPÍTULO 2 – SQL E SQL*PLUS ♦ ALL – A condição será satisfeita se a expressão for verdadeira para todos os valores do subconjunto obtido. 2.58 – Subquery com In SQL> SELECT CD_MAT. NM_SOBRENOME. nome. nome e cargo) dos funcionários que possuam cargo igual ao cargo de algum dos funcionários do departamento D11. foram selecionados todos os departamentos em que não existiam funcionários alocados. Listagem 2. Ordene o resultado por salário. Na Listagem 2.57. Ordene o resultado por salário. mas não sejam gerentes (tabela Depto). uma vez que a restrição indicava diferente de todos os códigos de departamento selecionados na subquery. nome e salário) de todos os funcionários que ganhem mais que todos os funcionários do departamento parametrizado. departamento e salário de todos os funcionários que sejam responsáveis por projeto (tabela Proj). da tabela de funcionários. 2. Neste exemplo (Listagem 2. Os funcionários sem salário devem ser apresentados no início da relação. que terá o mesmo significado de = ANY ou. ♦ ANY ou SOME – A condição será satisfeita se a expressão for verdadeira para algum dos valores do subconjunto obtido.19) Deseja-se atualizar o salário de todos os funcionários que são gerentes de departamento em 5%. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. METODOLOGIA ♦ Apresentação e descrição das funções que efetuam cálculos sobre um conjunto de valores e da cláusula Group By que organiza as linhas selecionadas em grupos de acordo com a especificação fornecida.

18 – Funções de grupo 54 ✦00CURSO COMPLETO Para uso pessoal.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS FUNÇÕES DE GRUPO OU DE AGREGAÇÃO Sintaxe 2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. .

60 – Massa de dados para teste das funções de grupo SQL> SELECT CD_MAT. Nesta massa de teste.60 a seguir. Na sintaxe verificamos que All é a opção default. Os parâmetros <expr1> e <expr2> devem ser numéricos. Listagem 2.-------- 101 TESTE1 100 32 102 TESTE2 200 45 103 TESTE3 200 65 104 TESTE4 300 21 105 TESTE5 100 32 106 TESTE6 107 TESTE7 100 8 108 TESTE8 12 8 linhas selecionadas. a média salarial (aritmética). o resultado. todos os valores (exceto NULL) são passados como argumento das funções. seria NULL. CURSO COMPLETO00✦ 55 Para uso pessoal. Neste primeiro exemplo. . Os pares em que <expr1> ou <expr2> estiverem sem valor são excluídos do resultado. CORR Retorna o coeficiente da correlação de um conjunto de pares de números. Caso esta ação não fosse efetuada. Se a função for aplicada a um grupamento vazio (sem linhas) o retorno é null. <expr2>) / (STDDEV_POP (<expr1>) * STDDEV_POP (<expr2>)) Se a função for aplicada a um grupamento vazio (sem linhas) o retorno é null. CAPÍTULO 2 – SQL E SQL*PLUS São programas que têm a finalidade de efetuar cálculos sobre um conjunto de linhas e retornam um valor. o valor do maior e do menor salário e quantas linhas foram encontradas na tabela Funcionário. Elas se aplicam a um grupo de linhas e retornam um único valor relativo a todo o grupo selecionado. COUNT(CD_MAT) 3 FROM FUNC. AVG Retorna a média dos valores de <expressão>. NR_CARGO 2 FROM FUNC 3 WHERE CD_DEPTO = 'A02' 4 / CD_MAT NM_FUNC VL_SAL NR_CARGO -----.-------. MAX(VL_SAL) 2 MIN(VL_SAL). NM_FUNC. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Listagem 2. temos duas linhas em que a coluna Salário não está preenchida. Ela pode ser usada como uma função de agregação ou analítica. o grupo sobre o qual os cálculos foram feitos foi toda a tabela Funcionário. as linhas com NULL são excluídas da etapa de avaliação. VL_SAL.---------------. Para verificação dos resultados gerados. AVG(VL_SAL). Sobre esta massa vamos efetuar alguns cálculos relativos às funções de grupo. A fórmula de cálculo para esta função é a seguinte: COVAR_POP(<expr1>. Neste conjunto o Oracle disponibiliza 34 funções que conheceremos a seguir.59 – Funções de agregação SQL> SELECT SUM(VL_SAL). Dentro do algoritmo de cálculo das funções de grupo. Ela pode ser usada como uma função de agregação ou analítica. Obtivemos a soma de todos os salários cadastrados. constantes ou outras funções). De acordo com a descrição das funções de agregação a seguir faremos exemplos com a massa de dados anterior para que os resultados possam ser conferidos e entendidos. uma vez que não limitamos as linhas selecionadas (Where). freqüentemente. O argumento para estas funções pode ser o nome de uma coluna ou uma expressão (combinação de nomes de colunas. prepare a massa de teste apresentada na Listagem 2. uma vez que ao operarmos um valor desconhecido (NULL) com um valor conhecido o resultado será invariavelmente desconhecido.

61 – AVG.667.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS COUNT Retorna o número de linhas que satisfaçam a query.--------. 3 SUM(VL_SAL) SUM_SAL. que possui valor para todas as linhas. AVG COUNT_SAL COUNT_MAT COUNT SUM_SAL SUM_CARGO SUM_PROD CORR COVAR_POP ------. desconhecido).-------. COUNT. independente de qualquer coluna. 2 COUNT(VL_SAL) COUNT_SAL. COUNT(CD_MAT) COUNT_MAT. mais fácil de conferirmos o resultado. . Ela pode ser usada como uma função de agregação ou analítica. COVAR_POP Retorna a covariância populacional de um conjunto de pares numéricos. o valor seria necessariamente Null (isto é.667 6 8 8 1000 215 35500 . A fórmula modificada ( [35500 – [[203*1000 ] / 6 ]] / 6 ) em função desta regra obtém o valor esperado de 277. Os parâmetros <expr1> e <expr2> devem ser numéricos. indicando que das linhas selecionadas seis possuem valor na coluna vl_sal.778. Repita o exemplo da Listagem 2. NR_CARGO) CORR.------. COVAR_POP SQL> SELECT AVG(VL_SAL) AVG. neste caso. Ela pode ser usada como uma função de agregação ou analítica. Ela pode ser usada como uma função de agregação ou analítica. indicando que a soma das linhas (1000) foi dividida por 6 (linhas em que salário tem valor) e não por 8 (total de linhas que atendem à condição de busca). As linhas em que salário não possui valor (NULL) são ignoradas para cálculo do resultado. COUNT(*) COUNT. 5 COVAR_POP(VL_SAL. A fórmula da função Covar_Pop utiliza apenas a função Sum sendo. NR_CARGO) COVAR_POP 6 FROM FUNC 7 WHERE CD_DEPTO = 'A02'. CORR. Os parâmetros <expr1> e <expr2> devem ser numéricos. e neste caso a linha com cargo 12 não entra nos cálculos. Pode ser usada sempre que desejarmos saber a quantidade de linhas obtidas. Quando a mesma função Count é aplicada sobre a coluna cd_mat (primary key). Esta sintaxe fornece o número de linhas selecionadas no comando. indicando que foram selecionadas oito linhas na consulta. Caso as linhas com valor Null fossem incluídas. A fórmula de cálculo para esta função é a seguinte: (SUM(<expr1> * <expr2>) – (SUM(<expr2>) * SUM(<expr1>)) / n) / n Se a função for aplicada a um grupamento vazio (sem linhas) o retorno é null. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Observe a seguir a descrição da função Covar_Samp. Devemos observar que a descrição da função diz que as linhas em que uma das expressões é Null são excluídas do resultado. O divisor n indica a quantidade de linhas onde <expr1> e <expr2> estão preenchidos.778 A função AVG nos traz como resultado 166.61 substituindo Covar_Pop por Covar_Samp e confira o resultado.--------.207533 277.556). Listagem 2.--------.--------- 166. 4 CORR(VL_SAL. A função Count sobre a coluna vl_sal nos traz como resultado 6. Se aplicarmos a fórmula ( [35500 – [[215*1000 ] / 6 ]] / 6 ) diretamente aos valores obtidos separadamente no exemplo verificaremos que o resultado obtido é negativo (-55. COVAR_SAMP Retorna a covariância simples de um conjunto de pares numéricos. SUM(NR_CARGO) SUM_CARGO. Observe que a função Count com o argumento * (asterisco) retorna o mesmo valor que para a coluna cd_mat. A função Sum soma todas as linhas não nulas do resultado.------. Os pares em que <expr1> ou <expr2> estiverem sem valor são excluídos do resultado.------. o resultado é 8. SUM(VL_SAL * NR_CARGO) SUM_PROD. Os pares em que <expr1> ou <expr2> estiverem sem valor são excluídos do resultado. A fórmula de cálculo para esta função é a seguinte: (SUM(<expr1> * <expr2>) – (SUM(<expr2>) * SUM(<expr1>)) / n) / (n-1) 56 ✦00CURSO COMPLETO Para uso pessoal.

a agregação é realizada em um conjunto de apenas uma linha. 2 CUME_DIST(300) WITHIN GROUP(ORDER BY VL_SAL DESC NULLS FIRST) CUME_DESC. os dois valores 300 (o da linha com matrícula 104 e o da constante) ocuparam respectivamente o terceiro e quarto lugares na seqüência de leitura. 3 DENSE_RANK(300) WITHIN GROUP(ORDER BY VL_SAL ASC NULLS FIRST) RANK_ASC. SUM.---------- 1 . DENSE_RANK Esta função calcula o posicionamento (rank) de uma linha em um grupo ordenado de linhas. O divisor n indica a quantidade de linhas onde <expr1> e <expr2> estão preenchidos. MAX. Ela calcula. CUME_DIST Esta função calcula a distribuição cumulativa de um valor em um grupo de valores. Opera em um conjunto de valores a partir de um conjunto de linhas que “rank” (são identificadas) como FIRST com relação a uma determinada ordem.62 observamos que as funções Cume_Dist e Dense_Rank receberam como parâmetro a constante 300. faça as contas com um valor que não tenha na sua lista. VARIANCE ou STDDEV. para uma linha hipotética R identificada pelos argumentos da função e especificação de ordenação. FIRST Pode ser usada como função de agregação ou analítica. Os números de expressões no argumento e na cláusula Order By devem ser idênticos pois serão considerados 1 para 1 posicionalmente. FIRST SQL> SELECT CUME_DIST(300) WITHIN GROUP(ORDER BY VL_SAL ASC NULLS FIRST) CUME_ASC. começando em 1. Os números de expressões no argumento e na cláusula Order By devem ser idênticos pois serão considerados 1 para 1 posicionalmente. Listagem 2. a posição relativa de R no grupo de agregação. O cálculo considera como se R estivesse inserida no grupo de linhas a serem agregadas. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Como o cálculo se refere a todos os valores maiores ou iguais a 300 (devido à ordenação estabelecida). O posicionamento é consecutivo. A função de agregação utilizada em conjunto pode ser MIN. Os argumentos da função identificam um única linha dentro de cada grupo.444444 4 2 32 21 Na Listagem 2.--------. Poderíamos ter fornecido mais de um valor (separados por vírgulas). Se somente uma linha for classificada (“rank”) como FIRST. por exemplo 290 ou 310. desta forma devem estar associados a expressões constantes dentro de cada grupo. Estas duas modificações devem te ajudar a entender melhor o resultado. 6 MAX(NR_CARGO) KEEP (DENSE_RANK FIRST ORDER BY VL_SAL DESC NULLS LAST) FIRST_DESC 7 FROM FUNC 8 WHERE CD_DEPTO = 'A02' CUME_ASC CUME_DESC RANK_ASC RANK_DESC FIRST_ASC FIRST_DESC -------.--------. O segundo resultado (44. CAPÍTULO 2 – SQL E SQL*PLUS Se a função for aplicada a um grupamento vazio (sem linhas) o retorno é null. 4 DENSE_RANK(300) WITHIN GROUP(ORDER BY VL_SAL DESC NULLS FIRST) RANK_DESC. O maior valor do Rank corresponde ao número de valores distintos retornados pela query. inteiro.--------. COUNT. escolhe-se a posição 4 como numerador do cálculo.44%) indica que o cálculo 4/9 foi realizado. AVG. Os argumentos da função identificam uma única linha dentro de cada grupo. desta forma devem estar associados a expressões constantes dentro de cada grupo. O valor retornado por esta função estará dentro do intervalo > 0 e <= 1. DENSE_RANK. Como primeiro resultado da Cume_Dist para o valor 300 recebemos 1. isto significa que 100% das linhas selecionadas possuíam valores de salário menores (ou igual) que 300 considerando-se um total de 9 linhas ordenadas ascendentemente por salário (o valor 300 é incluído no resultado) e nos quais os valores Null são considerados os menores. Este cálculo possui a seguinte lógica: o valor 300 é incluído na lista de valores. Outro teste interessante é retirar as linhas com Null da query (where vl_sal is not null).-------. Como os valores com Null foram colocados na frente. . desde que constantes. CURSO COMPLETO00✦ 57 Para uso pessoal. e desta forma passamos de 8 linhas para 9. 5 MAX(NR_CARGO) KEEP (DENSE_RANK FIRST ORDER BY VL_SAL ASC NULLS LAST) FIRST_ASC. Se toda esta explicação está confusa para você.62 – CUME_DIST. Ela calcula o posicionamento relativo de uma linha hipotética identificada pelos argumentos da função de acordo com a ordenação especificada.

no caso ASC e com nulls no fim. classificadas como FIRST). desta forma a linha com salário 300 é classificada como FIRST e. o que indica que a classificação 1 é atribuída às linhas com NULL (pois indicamos que NULLS FIRST). A primeira linha em qualquer conjunto tem um PERCENT_RANK de 0. PERCENT_RANK Esta função é similar a CUME_DIST (distribuição cumulativa). com ordenação descendente. a agregação é realizada em um conjunto de apenas uma linha. COUNT. Pode ser usada como uma função de agregação ou analítica. Esta classificação é dada através da ordenação de salário. GROUPING Esta função distingue valores relativos a uma agregação que utilize GROUP BY juntamente com as extensões ROLLUP ou CUBE. já que o primeiro é ocupado pelas linhas com salário null (Nulls First). SUM. A função de agregação utilizada em conjunto pode ser MIN. LAST Pode ser usada como função de agregação ou analítica. O retorno da função é 1 se o valor de <expressão> é null significando um conjunto de todos os valores e 0 se o null significar valor ausente. MIN Retorna o menor valor de <expressão>. GROUPING_ID Retorna um número que corresponde ao Grouping bit vector associado com uma linha. 58 ✦00CURSO COMPLETO Para uso pessoal. portanto. Se somente uma linha for classificada (“rank”) como LAST. VARIANCE ou STDDEV. classifica o valor 300 em segundo lugar. Pode ser usada como uma função de agregação ou analítica. GROUP_ID Esta função distingue linhas duplicadas resultantes de uma especificação GROUP BY. MAX Retorna o maior valor de <expressão>. o menor valor de salário é 100 (as linhas com salário 100 são. Se houver n duplicatas para um determinado grupamento a função retornará valores de 0 a n-1. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. O objetivo é determinar quando o valor null de uma determinada expressão significa uma agregação e quando significa o valor real (ou ausente) da expressão. A segunda construção. . No segundo exemplo a ordenação de salário é descendente. É aplicável somente a comandos SELECT que incluam a cláusula GROUP BY com a extensão ROLLUP ou CUBE e uma função GROUPING. A primeira construção da função FIRST obterá o maior cargo (max) das linhas classificadas como FIRST. O resultado é 4. Ela somente é válida em comandos SELECT que utilizem a cláusula GROUP BY.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS A primeira construção função Dense_Rank classifica o valor da expressão (no caso 300) dentro do conjunto de valores selecionados e de acordo com a ordenação especificada na cláusula Within Group. portanto. AVG. o maior cargo é 32. o maior (e único) cargo é 21. MAX. Sendo assim. O intervalo de valores retornados por PERCENT_RANK é de 0 a 1 (inclusive). a classificação 3 para as linhas com salário 200 e a 4 para o valor 300. Das 3 linhas com salário 100. Opera em um conjunto de valores a partir de um conjunto de linhas que “rank” (são identificadas) como LAST com relação a uma determinada ordem. A <expressão> que viermos a usar na função GROUPING deve ser compatível com o valor usado na cláusula GROUP BY. Observe que a classificação é do valor e não da quantidade de linhas. a classificação 2 para as linhas com salário 100.

As funções max e min são facilmente compreendidas por nós. 7 PERCENT_RANK (310) WITHIN GROUP(ORDER BY VL_SAL DESC NULLS LAST) P310_DESC.-----. determina-se o número da linha de interesse. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.-------.63 – LAST. O parâmetro deve ser uma constante com valor entre 0 e 1. o valor 310 é o primeiro da lista. O menor salário e o menor cargo são.--------. Como esta função inicia a classificação em zero. 1 e 2. Nos testes da função Percent_Rank utilizamos. CURSO COMPLETO00✦ 59 Para uso pessoal. Este número de linha é calculado de acordo com a fórmula: RN = (1 + (P * ( N –1) O resultado final da função de agregação é calculado pela interpolação linear entre os valores das linhas relativas ao número da linha. O resultado 0. o menor deste grupo cargo é 8. No segundo exemplo temos 5 sobre 8 (os três valores 100 ocupam as posições 0.-----. 5 PERCENT_RANK (310) WITHIN GROUP(ORDER BY VL_SAL ASC NULLS LAST) P310_ASC. respectivamente. L_ASC L_DESC MX_SAL MX_CRG MN_SAL MN_CRG P310_ASC P290_ASC P310_DESC P290_DESC ----. A cláusula ORDER BY deve ser composta de uma única expressão numérica ou datetime. pela classificação. os dois valores 200 ocupam as posições 3 e 4. recebendo o valor 0. o valor 300 a sexta posição e os dois valores null as posições 7 e 8). temos como primeira fórmula a divisão de 6 por 8. MAX. O maior salário. o valor 290 ocupa a quinta posição. portanto. 4 MIN(VL_SAL) MN_SAL. CAPÍTULO 2 – SQL E SQL*PLUS Listagem 2. Como esta função é similar à função Cume_Dist já sabemos que a fórmula corresponde à divisão da posição da linha em questão em relação à posição da última linha do grupo. o menor cargo é 12. No terceiro exemplo. desta forma as linhas com salário 100 são classificadas como LAST e. dividido por qualquer valor.--------- 12 8 300 65 100 8 . o maior valor de salário é NULL (as linhas sem salário são. 100 e 8. dá zero.625 0 . 1 e 2. pois indica um valor percentual. valores que não pertencem à lista de valores presentes na tabela.75 corresponde a esta divisão. PERCENT_RANK. portanto. onde CRN = CEILING(RN) e FRN = FLOOR(RN). os dois valores 200 ocupam as posições 3 e 4. Ela obtém um valor percentual e uma especificação de ordenação e retorna um valor interpolado que deve cair dentro do percentual em relação à especificação de ordenação. no caso ASC e com nulls no fim.75 .-----. .-----. 6 PERCENT_RANK (290) WITHIN GROUP(ORDER BY VL_SAL ASC NULLS LAST) P290_ASC. MIN(NR_CARGO) MN_CRG. que. MAX(NR_CARGO) MX_CRG. O resultado é calculado por uma interpolação linear entre os valores após a ordenação. MIN SQL> SELECT MIN(NR_CARGO) KEEP (DENSE_RANK LAST ORDER BY VL_SAL ASC NULLS LAST) L_ASC. desconsiderando-se as linhas sem salário. desta vez.125 A primeira construção da função LAST obterá o menor cargo (min) das linhas classificadas como LAST. Usando-se o valor percentual (P) e o número de linhas (N) no grupo de agregação. Esta classificação é dada através da ordenação de salário.-----. 2 MIN(NR_CARGO) KEEP (DENSE_RANK LAST ORDER BY VL_SAL DESC NULLS FIRST) L_DESC. o valor 300 ocupa a quinta posição. classificadas como LAST). 3 MAX(VL_SAL) MX_SAL. o valor 310 a sexta e os dois valores null as posições 7 e 8) e da última linha é 8. O resultado final será o valor da expressão da linha em RN se CRN=FRN=RN (não houver mais de um valor resultante) ou (CRN – RN) * (valor da expressão da linha em FRN) + (RN – FRN) * (valor da expressão da linha em CRN). é 300 e o maior cargo é 65. Das 2 linhas com salário 100.-------. PERCENTILE_CONT Esta função realiza uma distribuição inversa considerando um modelo de distribuição contínua. ou seja. Também pode ser usada como função analítica. No segundo exemplo a ordenação de salário é descendente e as linhas sem salário (NULL) são ordenadas no início da fila. 8 PERCENT_RANK (290) WITHIN GROUP(ORDER BY VL_SAL DESC NULLS LAST) P290_DESC 9 FROM FUNC 10 WHERE CD_DEPTO = 'A02'. a posição da linha com valor de salário 310 é 6 (os três valores 100 ocupam as posições 0. Os nulls são ignorados no cálculo. Sendo assim. No último exemplo a divisão realizada é de 1 por 8.

5) * (salário na linha FRN = 100) + (3. RN = (1 + P * (N – 1)). A função Rank dá a posição relativa do valor na lista ordenada considerando o valor inserido no grupo. 100 (4).--------. PERCENTILE_DISC. passamos como parâmetro um percentual e recebemos como resultado um valor relativo à expressão de ordenação (no nosso caso VL_SAL). ou seja. no nosso caso. ou seja. uma vez que não conseguimos obter uma única linha (veja a seguir o cálculo de RN). 100 (7). 4 PERCENTILE_DISC(. Uma vez que RN representa a linha desejada e a linha 3. null (2).5. As funções a seguir calculam a regressão linear de um conjunto de duplas de números. A cláusula ORDER BY não possui restrições de tipo. a quantidade de linhas úteis passa a ser 6 e 50%. temos que RN = (1 + 0. a função retornará o menor valor CUME_DIST (com relação à mesma especificação de ordenação) que seja maior ou igual ao parâmetro P. 100 (5).5) WITHIN GROUP (ORDER BY VL_SAL ASC) DISC_ASC. 2 PERCENTILE_CONT(. devemos aplicar a fórmula mostrada acima e obter o valor de salário.5) WITHIN GROUP (ORDER BY VL_SAL DESC) DISC_DESC. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Neste caso temos valores diferentes para ordenações diferentes.5 não existe.5 * (6 – 1)). Os argumentos da função devem ser constantes. ou seja. elas funcionam de forma inversa à da função CUME_DIST.5 * 100 + 0. As linhas com valores iguais recebem a mesma classificação. No segundo exemplo. O número de expressões no argumento e na cláusula Order By devem ser idênticos pois serão considerados 1 para 1 posicionalmente. Podem ser usadas como funções de agregação ou analíticas. o valor correspondente à linha 3 (FRN) é 200. onde P é o percentual (0. RANK Calcula o posicionamento (rank) de um valor em um grupo de valores. . O valor de FRN (o maior inteiro menor que RN) é 3. Nos quatro exemplos passamos como parâmetro 50%.-----. temos a posição 4 para o valor de salário 290. 200 (6).5) WITHIN GROUP (ORDER BY VL_SAL DESC) CONT_DESC. O valor de CRN (o menor inteiro maior que RN) é 4. Para ordenação ascendente.------- 150 150 100 200 8 4 Para as funções Percentile. 200 (5). 100 (8) e 100 (9). devemos aplicar a fórmula (CRN – RN) * (valor da expressão da linha em FRN) + (RN – FRN) * (valor da expressão da linha em CRN). o que significa: null (1). desta forma o primeiro resultado 8 considera a seguinte lista: null (1). Calcula a posição de uma linha hipotética identificada pelos argumentos da função com relação a uma ordenação. Para um determinado valor percentual P e de acordo com a ordenação. Para Percentile_Cont. o valor correspondente à linha 3 (FRN) é 100 e para ordenação descendente. 3 PERCENTILE_DISC(. o valor retornado será o primeiro em relação às linhas que atendem ao percentual. Como primeiro passo devemos determinar a linha de interesse. o centro da lista corresponde a duas linhas. Ela recebe um valor percentual e uma especificação de ordenação e retorna um elemento do conjunto.5 – 3) * (salário na linha CRN = 200) Valor = 0. null (2).--------. 290 (4). 6 RANK(290) WITHIN GROUP (ORDER BY VL_SAL DESC NULLS FIRST) RK_DESC 7 FROM FUNC 8 WHERE CD_DEPTO = 'A02'.5) e N a quantidade de linhas (6). 5 RANK(290) WITHIN GROUP (ORDER BY VL_SAL ASC NULLS FIRST) RK_ASC. será o valor da linha FRN. 200 (6). Listagem 2. Uma vez que nestas funções os valores NULLS são eliminados. 60 ✦00CURSO COMPLETO Para uso pessoal. Os Nulls são ignorados no cálculo. ou seja.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS PERCENTILE_DISC É uma distribuição inversa que assume um modelo de distribuição discreta. 290 (8) e 300 (9). 200 (7). O parâmetro deve ser uma constante com valor numérico entre 0 e 1 pois corresponde a um percentual. 300 (3). O resultado é RN=3. RANK SQL> SELECT PERCENTILE_CONT(. uma linha com valor 100 e uma linha com valor 200 (tanto ascendentemente quanto descendentemente).5 * 200 = 50 + 100 = 150 Para Percentile_Disc não é feita a interpolação.5) WITHIN GROUP (ORDER BY VL_SAL ASC) CONT_ASC.-------. Valor = (4 – 3. 100 (3).64 – PERCENTILE_CONT. CONT_ASC CONT_DESC DISC_ASC DISC_DESC RK_ASC RK_DESC -------.

. Regr_Sxy e Regr_Syy são funções auxiliares usadas para calcular várias estatísticas. ELSIF VAR_POP (<expr1>) = 0 AND VAR_POP(<exp2>) <> 0 THEN 1. Após a eliminação dos pares nulos. Após a eliminação dos pares nulos. Ela calcula AVG(<expressão1>) após a eliminação das linhas em que <expressão1> ou <expressão2> não possuem valor (NULL). REGR_COUNT Retorna um inteiro que representa o número de pares não nulos usados para cálculo da regressão linear. representada por <expressão2> da regressão linear. CAPÍTULO 2 – SQL E SQL*PLUS REGR_AVGX Avalia a média da variável independente. ELSIF VAR_POP(<expr1>) > 0 AND VAR_POP(<expr2>) != 0 THEN POWER(CORR(<expr1>. o seguinte cálculo é realizado: REGR_COUNT(<expr1>. <expr2>) REGR_SYY As funções Regr_Sxx. <expr2>) * VAR_POP(<expr2>) REGR_SXY As funções Regr_Sxx.2). <expr2>) / VAR_POP(<expr2>) REGR_SXX As funções Regr_Sxx. Após a eliminação dos pares nulos. representada por <expressão1> da regressão linear. <expr2>) * AVG(<expr2>) REGR_R2 Retorna o coeficiente de determinação para a regressão. <expr2>) * COVAR_POP(<expr1>. Regr_Sxy e Regr_Syy são funções auxiliares usadas para calcular várias estatísticas. Regr_Sxy e Regr_Syy são funções auxiliares usadas para calcular várias estatísticas. Após a eliminação dos pares de nulos o seguinte cálculo é realizado: AVG(<expr1>) – REGR_SLOPE(<expr1>. o seguinte cálculo é realizado: REGR_COUNT(<expr1>. REGR_INTERCEPT Retorna o y-intercept da regressão linear. ELSE NULL. REGR_AVGY Avalia a média da variável dependente. Ela calcula AVG(<expressão2>) após a eliminação das linhas em que <expressão1> ou <expressão2> não possuem valor (NULL). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Após a eliminação dos pares nulos o seguinte cálculo é realizado: IF VAR_POP (<expr2>) = 0 THEN NULL. <expr2>) * VAR_POP(<expr1>) CURSO COMPLETO00✦ 61 Para uso pessoal.<expr2>). Após a eliminação dos pares nulos. o seguinte cálculo é realizado: COVAR_POP(<expr1>. REGR_SLOPE Retorna o “declive” da linha. o seguinte cálculo é realizado: REGR_COUNT(<expr1>.

5 REGR_SXY(VL_SAL. portanto. pois os demais podem ser conferidos diretamente pelas fórmulas descritas. VAR_POP Retorna a variância populacional de um conjunto de linhas após descartar as linha nulas. Para a média de VL_SAL (calculada por REGR_AVGY devemos levar em consideração os valores (100 + 100 + 100 + 200 + 200 + 300) divididos por 6. seu retorno também será null. REGR_SXX(VL_SAL. Se o conjunto de entrada for vazio. 62 ✦00CURSO COMPLETO Para uso pessoal. Pode ser usada como uma função de agregação ou como função analítica. Dentro da nossa massa de dados apenas seis linhas (veja REGR_COUNT) possuem valor em ambas as colunas VL_SAL e NR_CARGO. Retorna 0 quando houver apenas uma linha de entrada. Pode ser usada como função de agregação ou analítica. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. NR_CARGO) R2.------ 33. NR_CARGO) SXX. NR_CARGO) SYY 6 FROM FUNC 7 WHERE CD_DEPTO = 'A02'.------. Pode ser usada como função de agregação ou analítica. exceto que para um elemento a função VARIANCE retorna 0 e VAR_SAMP retorna null. REGR_AVGY(VL_SAL. Pode ser usada como função de agregação ou analítica. Para a média de NR_CARGO (calculada por REGR_AVGX) devemos levar em consideração os valores (8 + 32 + 32 + 45 + 65 + 21) divididos por 6. Se o conjunto de entrada for vazio. 3 REGR_SLOPE(VL_SAL. STDDEV Retorna o desvio padrão simples da <expressão>. NR_CARGO) COUNT. Pode ser usada tanto como função de agregação como função analítica. STDDEV_SAMP Calcula o desvio padrão simples cumulativo e retorna a raiz quadrada da variância simples. NR_CARGO) SLOPE.7 33333 Neste exemplo analisaremos apenas os três primeiros.-----. O seguinte cálculo é realizado: (SUM(<expr> ** 2) . Retorna Null se o retorno da função VAR_POP for Null.67 6 . . NR_CARGO) SXY. Pode ser usada como função de agregação ou analítica.65 – Funções de regressão SQL> SELECT REGR_AVGX(VL_SAL.-----. NR_CARGO) AVG_CRG.8614 137.8 1666.04307 1934. REGR_SYY(VL_SAL. AVG_CRG AVG_SAL COUNT SLOPE INTERC R2 SXX SXY SYY ------.833 166. 2 REGR_COUNT(VL_SAL. STDDEV_POP Calcula o desvio padrão populacional e retorna a raiz quadrada da variância populacional. REGR_INTERCEPT(VL_SAL. SUM Retorna o somatório dos valores de <expressão>.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Listagem 2. Utiliza a função VAR_SAMP como entrada.SUM(<expr>) ** 2 / COUNT(<expr>)) / COUNT(<expr>) VAR_SAMP Retorna a variância simples de um conjunto de linhas após descartar as linhas nulas.-----. O resultado corresponde à raiz quadrada da variância. este será a quantidade utilizada para cálculo em todas as funções deste grupo. NR_CARGO) AVG_SAL. o resultado será null.-----. 4 REGR_R2(VL_SAL.-----.52 . o resultado será null. O seguinte cálculo é realizado: (SUM(<expr> ** 2) . Se o resultado de VAR_SAMP for null. NR_CARGO) INTERC.-----.SUM(<expr>) ** 2 / COUNT(<expr>)) / (COUNT(<expr>) – 1) Esta função é similar à função VARIANCE.

para cada um dos grupos formados podemos aplicar as funções de grupo.7 Começando pelo fim.7 6666.----. Já o grupo com cd_depto valendo ‘C01’ possui soma total dos salários igual a 10.2)) SUM_2. GRUPANDO AS LINHAS SELECIONADAS A cláusula Group By. opcionalmente.-------.--------.665. Pode ser usada como função de agregação ou analítica.13 B01 2 6681. 'C01') 4 GROUP BY CD_DEPTO. Listagem 2. obteremos como resultado uma linha para cada grupo contendo o resultado das funções aplicadas às colunas e. presente no resultado. as colunas em relação às quais foi feito o grupamento. VARIANCE SQL> SELECT STDDEV(VL_SAL) SDEV.68 C01 3 10162. SUM. STDDEV_POP (VL_SAL) SDEV_POP.----------- A00 4 19665. A quantidade de linhas para salário é 6. COUNT(*).67 – Uso de Group By SQL> SELECT CD_DEPTO. considerando o resultado de SUM_2 como sendo sum(vl_sal 2) e SUM**2 como sendo sum(vl_sal)2.------.2) “SUM**2”. confirmamos que o resultado da função VARIANCE e VAR_SAMP são iguais pois a quantidade de linhas informadas para a função foi maior que 1. NM_FUNC * CURSO COMPLETO00✦ 63 Para uso pessoal.162. STDDEV_POP. 5 VAR_POP(VL_SAL) VAR_POP. SUM(VL_SAL) 2 FROM FUNC 3 WHERE CD_DEPTO IN ('A00'.08 e é composto de três linhas. 6 VARIANCE(VL_SAL) VAR 7 FROM FUNC 8 WHERE CD_DEPTO = 'A02'.68 – Uso de funções de agregação com Group By SQL> SELECT CD_DEPTO. Desta forma. 'B01'. SELECT CD_DEPTO.-------. 'C01') 4 GROUP BY CD_DEPTO. Após esta etapa. Desta forma. uma vez que seu valor é igual em todas as linhas do grupo. A função SUM. Para conferirmos os valores das demais funções devemos apenas realizar os cálculos descritos acima. CAPÍTULO 2 – SQL E SQL*PLUS VARIANCE Retorna a variância dos valores de <expressão>. SUM(VL_SAL). SUM(VL_SAL). SDEV SDEV_POP SDEV_SAMP SUM SUM_DIST SUM_2 SUM**2 VAR_POP VAR_SAMP VAR -----. -------. 4 SUM(POWER(VL_SAL. a única que não se apresenta como argumento de uma função de grupo é a coluna em relação à qual foi feito o grupamento. Listagem 2. 3 SUM(VL_SAL) SUM. VAR_SAMP(VL_SAL) VAR_SAMP. VAR_SAMP.66 – STDDEV.-------. O cálculo da variância é feito da seguinte forma: IF <quantidade de linhas> = 1 THEN 0 ELSE VAR_SAMP(<expr>) Listagem 2. adicionada a um comando SELECT. NM_FUNC 2 FROM FUNC 3 WHERE CD_DEPTO IN ('A00'.-----.------ 81.-------. Das informações apresentadas. as linhas da tabela de funcionários foram divididas em grupos com relação à coluna Código do Departamento. .536 81. VAR_POP.6 6666. 2 STDDEV_SAMP(VL_SAL) SDEV_SAMP.08 Neste primeiro exemplo. separa as linhas selecionadas em grupos de acordo com a coluna ou expressão que determinarmos como grupamento. SUM(DISTINCT VL_SAL) SUM_DIST.13 e é composto de quatro linhas.65 1000 600 200000 1000000 5555. 'B01'. POWER(SUM(VL_SAL). CD_ COUNT(*) SUM(VL_SAL) --. COUNT(*). COUNT(*). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.65 74. o grupo com cd_depto valendo ‘A00’ possui soma total dos salários igual a 19. pode ser utilizada juntamente com a cláusula DISTINCT indicando que somente valores diferentes de salário serão somados (100 + 200 + 300).

poderemos efetuar uma restrição sobre as colunas calculadas durante a execução da cláusula Group By. . Observe que a restrição presente na cláusula Where faz referência a uma informação da tabela Func. MAX(VL_SAL) MÁXIMO. AVG(VL_SAL) MÉDIA 64 ✦00CURSO COMPLETO Para uso pessoal. 2 MIN(VL_SAL) MÍNIMO. Na lista de seleção.00. toda a tabela será tratada como um (1) grupo. Listagem 2. 2 MIN(VL_SAL) MÍNIMO. AVG(VL_SAL) MÉDIA 3 FROM FUNC 4 WHERE IN_SEXO = 'M' 5 GROUP BY NR_CARGO. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. foram selecionadas da tabela Funcionário as linhas em que a coluna in_sexo possuía o valor ‘M’. tais como: valores constantes. as funções User.65). Assim. Userid. REGRA Não é possível a utilização direta de colunas não referenciadas na cláusula Group By na lista de seleção. Sysdate.500. A CLÁUSULA HAVING A cláusula Having vem resolver o problema apresentado no exemplo da Listagem 2. MAX(VL_SAL) MÁXIMO. AND AVG(VL_SAL) > 2500 * ERRO na linha 5: ORA-00934: a função de grupo não é permitida aqui A utilização desta restrição na cláusula Where causa um erro (ORA-00934: a função de grupo não é permitida aqui) que indica que não podemos fazer referência ao resultado do grupamento antes de o grupamento ser realizado.70. cálculos envolvendo as colunas sobre as quais está sendo feito o grupamento (ver Listagem 2. Listagem 2. Min e Avg. AVG(VL_SAL) MÉDIA 3 FROM FUNC 4 WHERE IN_SEXO = 'M' 5 AND AVG(VL_SAL) > 2500 6 GROUP BY NR_CARGO. Listagem 2. A mensagem de erro indica que isto não é possível. Este conjunto de linhas foi separado de acordo com o valor de cargo. Imagine que desejássemos obter apenas as linhas em que a média salarial fosse superior a R$ 2.69. foi feita uma tentativa de se obter uma informação unitária do conjunto de linhas de cada grupo. Se ela for usada sem a cláusula Group By. No exemplo da Listagem 2.70 – Uso de funções de grupo para restrição SQL> SELECT NR_CARGO.68. Para cada um dos grupos foram aplicadas as funções Max. Estas colunas só podem ser usadas como argumento das funções de grupo.69 – Restringindo os dados a grupar SQL> SELECT NR_CARGO. 2 MIN(VL_SAL) MÍNIMO. A cláusula Having não precisa ser usada em conjunto com a cláusula Group By. Ela se aplica após o grupamento ter sido realizado.71 – Usando Having SQL> SELECT NR_CARGO. podemos utilizar outras expressões que resultem no mesmo valor para todas as linhas de cada grupo.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS ERRO na linha 1: ORA-00979: não é uma expressão GROUP BY Na Listagem 2. uma vez que aquela coluna não se encontra presente na cláusula Group By. MAX(VL_SAL) MÁXIMO.

IN_SEXO) 6 / CD_ NR_CARGO I SUM(VL_SAL) --.73 – Rollup SQL> SELECT CD_DEPTO. SUM(VL_SAL) 2 FROM FUNC 3 WHERE CD_DEPTO IN ('D11'. estar presentes na cláusula Select. NR_CARGO. Neste exemplo.73 que o grupamento desenvolvido retorna 1 (uma) linha para cada grupo depto-cargo-sexo. Isto ocorre porque o Oracle pode executar uma operação de ordenação para separar as linhas selecionadas de acordo com os grupos. Da mesma forma que na cláusula Order By e na Group By. Tem grande utilidade na construção de subtotais. 54.72 – Restringindo com Having SQL> SELECT NR_CARGO. foram selecionados outros tipos de informação que podem aparecer na lista de seleção de um grupamento. Adicionalmente a estas linhas. na verdade. n-2. subtotais e tabulações sobre as dimensões. 56) 5 GROUP BY ROLLUP(CD_DEPTO. as operações de agregação com o uso de Group By e Having podem se utilizar de operações chamadas de Rollup e Cube. 52. 'D21'. 'E21') 4 AND NR_CARGO IN (48. outra linha para cada depto. até 0 expressões incluídas na cláusula Rollup e retorna uma única linha sumariada para cada um destes subgrupos. (NR_CARGO/2). Observe na Listagem 2. executa as mesmas funções de agregação para subgrupos compostos das n-1. ROLLUP É uma extensão da cláusula Group By que.----------- D11 52 M 1827 D11 52 1827 ** acumulado de depto= D11 e cargo = 52 independente de sexo D11 54 F 2225 D11 54 M 2468 D11 54 4693 ** acumulado de depto= D11 e cargo = 54 independente de sexo CURSO COMPLETO00✦ 65 Para uso pessoal. 2 'Constante'. AVG(VL_SAL) MÉDIA. Listagem 2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. necessariamente. IN_SEXO. . Observe que em todos os exemplos apresentados o resultado de um grupamento sempre trouxe as linhas ordenadas pela coluna (ou colunas) sobre a qual foi feito o grupamento.-------. O resultado desta operação pode trazer os dados na ordem ascendente do grupo ou não. Na Listagem 2. NR_CARGO. .71.70.. MIN(VL_SAL) MÍNIMO. AS EXPRESSÕES ROLLUP E CUBE Visando aplicações de Data WareHouse. Listagem 2. contendo um sumário ou subtotal referente às linhas grupadas. finalmente. USER 3 FROM FUNC 4 WHERE IN_SEXO = 'M' 5 GROUP BY NR_CARGO 6 HAVING SUM(VL_SAL) > 2500. a restrição foi feita sobre a soma salarial que não foi mencionada na cláusula Select.. CAPÍTULO 2 – SQL E SQL*PLUS 3 FROM FUNC 4 WHERE IN_SEXO = 'M' 5 GROUP BY NR_CARGO 6 HAVING AVG(VL_SAL) > 2500. e.. Essas mesmas operações podem ser feitas com a sintaxe tradicional. A cláusula a ser usada para garantir que o resultado será apresentado na ordem desejada é a cláusula Order By. as expressões referenciadas na cláusula Having não precisam.. um total geral. porém sua execução é mais eficiente com o uso das expressões adicionadas à cláusula Group By. que são. 'E11'. a cláusula Rollup acrescentou uma linha para cada grupo depto-cargo. Este exemplo corrige o erro apresentado na Listagem 2. A cláusula Group By tem a finalidade de grupar as linhas e não ordenar. além de executar as funções de agregação para os grupos estabelecidos na cláusula.

NR_CARGO. 56) 5 GROUP BY CUBE(CD_DEPTO. Listagem 2. portanto. IN_SEXO) 6 / CD_ NR_CARGO I SUM(VL_SAL) --. Observe na Listagem 2. 'D21'. obtivemos quatro tipos de totais. 54. incluímos na cláusula Rollup três expressões. Podemos nos utilizar desta característica para a montagem de produtos matriciais (cross-tab).74 que utilizamos o mesmo grupamento do exemplo anterior. Esta operação de agregação para cima (para estabelecer sumários menos detalhados) é chamada de Rollup. IN_SEXO. CUBE Também é uma extensão da cláusula Group By que. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 52. porém obtivemos um número maior de linhas no resultado. A quantidade de grupos que a cláusula Rollup gerará será igual à quantidade de expressões incluídas na cláusula + 1.-------. 'E21') 4 AND NR_CARGO IN (48. SUM(VL_SAL) 2 FROM FUNC 3 WHERE CD_DEPTO IN ('D11'. Poderíamos considerar que esta cláusula fez uma operação de grupamento para cada quebra do grupo.----------- D11 52 M 1827 D11 52 1827 ** acumulado de depto= D11 e cargo = 52 independente de sexo D11 54 F 2225 D11 54 M 2468 D11 54 4693 ** acumulado de depto= D11 e cargo = 54 independente de sexo D11 F 2225 **** acumulado de depto = D11 e sexo=F independente de cargo D11 M 4295 **** acumulado de depto = D11 e sexo=M independente de cargo D11 6520 ****** acumulado de depto = D11 independente de sexo e cargo D21 52 F 1725 D21 52 M 1918 D21 52 3643 ** acumulado de depto= D21 e cargo = 52 independente de sexo D21 56 F 3617 D21 56 3617 ** acumulado de depto= D21 e cargo = 56 independente de sexo D21 F 5342 **** acumulado de depto = D21 e sexo=F independente de cargo D21 M 1918 **** acumulado de depto = D21 e sexo=M independente de cargo D21 7260 ****** acumulado de depto = D21 independente de sexo e cargo E11 48 M 1775 E11 48 1775 ** acumulado de depto= E11 e cargo = 48 independente de sexo 66 ✦00CURSO COMPLETO Para uso pessoal.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS D11 6520 *** acumulado de depto= D11 independente de sexo e cargo D21 52 F 1725 D21 52 M 1918 D21 52 3643 ** acumulado de depto= D21 e cargo = 52 independente de sexo D21 56 F 3617 D21 56 3617 ** acumulado de depto= D21 e cargo = 56 independente de sexo D21 7260 *** acumulado de depto= D21 independente de sexo e cargo E11 48 M 1775 E11 48 1775 ** acumulado de depto= E11 e cargo = 48 independente de sexo E11 54 F 2625 E11 54 2625 ** acumulado de depto= E11 e cargo = 54 independente de sexo E11 4400 *** acumulado de depto= E11 independente de sexo e cargo E21 52 M 1995 E21 52 1995 ** acumulado de depto= E21 e cargo = 52 independente de sexo E21 54 M 4999 E21 54 4999 ** acumulado de depto= E21 e cargo = 54 independente de sexo E21 6994 *** acumulado de depto= E21 independente de sexo e cargo 25174 ***** Total geral 23 linhas selecionadas. 'E11'.. NR_CARGO.74 – Cube SQL> SELECT CD_DEPTO. além de executar as funções de agregação para os grupos estabelecidos na cláusula Cube. No caso do exemplo. . executa as mesmas funções de agregação para subgrupos compostos dos valores de todas as possíveis combinações das expressões (informadas para Cube) e retorna uma única linha sumariada para cada subgrupo.

IN_SEXO) 8 / CD_ GRP_DEPTO I GRP_SEXO GRP_ID SUM(VL_SAL) --. cargo-sexo. 2 IN_SEXO. IDENTIFICANDO AS LINHAS COM AS FUNÇÕES GROUP Você já deve ter percebido. além de calcular a função SUM(vl_sal) para o grupo depto-cargo-sexo. que a utilização de Rollup e Cube pode tornar o resultado um pouco confuso. só depto.----------- D11 0 F 0 0 10568 GRP_ID = 0 * 2**1 + 0 * 2**0 D11 0 M 0 0 11642 GRP_ID = 0 * 2**1 + 0 * 2**0 D11 0 0 0 GRP_ID = 0 * 2**1 + 0 * 2**0 D11 0 1 1 22210 *** acumulado por depto D21 0 F 0 0 8080 GRP_ID = 0 * 2**1 + 0 * 2**0 D21 0 M 0 0 7012 GRP_ID = 0 * 2**1 + 0 * 2**0 D21 0 1 1 15092 *** acumulado por depto E11 0 F 0 0 7190 GRP_ID = 0 * 2**1 + 0 * 2**0 CURSO COMPLETO00✦ 67 Para uso pessoal. pelos resultados acima. retornará zero. GROUPING(CD_DEPTO) GRP_DEPTO. de um valor Null real. 3 GROUPING_ID(CD_DEPTO. . portanto.--------. Temos 3 funções que podem nos ajudar a distinguir um valor Null que representa um subgrupo (de uma das agregações produzidas pelo Rollup ou Cube). A quantidade de grupos que a cláusula Cube gerará será igual a 2 elevado à quantidade de expressões incluídas na cláusula. O tipo de valor retornado é Number. A expressão a ser incluída na função Grouping deve corresponder a uma das expressões da cláusula Group by.. incluímos na cláusula Cube três expressões. depto-sexo. obtivemos 8 tipos de totais. Isso ocorreu porque a cláusula Cube. 'D21'. principalmente se as expressões envolvidas possuírem valores Null. e caso contrário. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Listagem 2. 'E11'. só cargo. No caso do exemplo. 'E21') 7 GROUP BY CUBE(CD_DEPTO. só sexo e um total geral. Para efeito de teste inclua uma linha com preenchimento apenas de cd_depto (D11) e cd_mat (1).-----. CAPÍTULO 2 – SQL E SQL*PLUS E11 54 F 2625 E11 54 2625 ** acumulado de depto= E11 e cargo = 54 independente de sexo E11 F 2625 **** acumulado de depto = E11 e sexo=F independente de cargo E11 M 1775 **** acumulado de depto = E11 e sexo=M independente de cargo E11 4400 ****** acumulado de depto = D21 independente de sexo e cargo E21 52 M 1995 E21 52 1995 ** acumulado de depto= E21 e cargo = 52 independente de sexo E21 54 M 4999 E21 54 4999 ** acumulado de depto= E21 e cargo = 54 independente de sexo E21 M 6994 **** acumulado de depto = E21 e sexo=M independente de cargo E21 6994 ****** acumulado de depto = D21 independente de sexo e cargo 48 M 1775 ## acumulado de cargo=48 e sexo = M independende de depto 48 1775 #### acumulado de cargo = 48 independente de sexo e depto 52 F 1725 ## acumulado de cargo=52 e sexo = F independende de depto 52 M 5740 ## acumulado de cargo=52 e sexo = M independende de depto 52 7465 #### acumulado de cargo = 52 independente de sexo e depto 54 F 4850 ## acumulado de cargo=54 e sexo = F independende de depto 54 M 7467 ## acumulado de cargo=54 e sexo = M independende de depto 54 12317 #### acumulado de cargo = 54 independente de sexo e depto 56 F 3617 ## acumulado de cargo=56 e sexo = M independende de depto 56 3617 #### acumulado de cargo = 56 independente de sexo e depto F 10192 ###### acumulado de sexo = F independente de cargo e depto M 14982 ###### acumulado de sexo = M independente de cargo e depto 25174 >>>>>>>> Total Geral 42 linhas selecionadas. GROUPING(IN_SEXO) GRP_SEXO.-------.75 – Grouping e Grouping_Id SQL> SELECT CD_DEPTO. Esta função retornará 1 se o valor da expressão representar um subgrupo. também gerou somas para os subgrupos depto-cargo. 4 SUM(VL_SAL) 5 FROM FUNC 6 WHERE CD_DEPTO IN ('D11'. IN_SEXO) GRP_ID.

SUM(VL_SAL) 2 FROM FUNC 3 WHERE CD_DEPTO IN ('D11'. em média.30) Deseja-se obter uma lista (nr_cargo) de todos os cargos que possuam mais de duas funcionárias. D11. As linhas em que GRP_DEPTO recebeu 1 e GRP_SEXO recebeu 0 calcularam GRP_ID com 2 (1 * 21 + 0 * 20). simplificamos o grupamento para que o resultado fosse mais claro.26) Produza uma lista contendo a média salarial. Listagem 2. A lista deve vir ordenada descendentemente por média salarial. Considerando-se uma formação (Grouping só retorna zero ou 1).----------- D11 F 0 10568 D11 M 0 11642 D11 0 D21 F 0 8080 D21 M 0 7012 D11 0 22210 D21 0 15092 D11 1 22210 D21 1 15092 9 linhas selecionadas. os valores de Grouping_id correspondem à concatenação dos diversos resultados da função Group- ing na ordem em que ocorrem. . Nos exemplos da Listagem 2. Todos os cargos com menos de três funcionários devem ser excluídos do resultado. 68 ✦00CURSO COMPLETO Para uso pessoal. 2. nome e salário de todos os funcionários que ganhem mais que a média salarial da empresa.29) Deseja-se obter. a média salarial e o número de funcionários grupados por cargo para os departamentos D01. Finalmente a linha em que tanto GRP_DEPTO quanto GRP_SEXO receberam valor 1 calcularam GRP_ID com 3 (1 * 21 + 1 * 20). de todos os funcionários que tenham em seu primeiro nome a letra “A”. Neste último exemplo utilizamos a função GROUP_ID para identificar as linhas de D11 e D21 que aparecem duas vezes (com os mesmos valores em toda a linha) em função de um grupamento duplo entre cd_depto e a extensão Rollup de cd_depto com in_sexo.28) Determine a quantidade de atividades diferentes por projeto (tabela Prjatv). EXERCÍCIOS 2. . Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.76 – Group_Id SQL> SELECT CD_DEPTO. GROUP_ID(). Observe que.75. ROLLUP(CD_DEPTO.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS E11 0 M 0 0 3309 GRP_ID = 0 * 2**1 + 0 * 2**0 E11 0 1 1 10499 *** acumulado por depto E21 0 M 0 0 9531 GRP_ID = 0 * 2**1 + 0 * 2**0 E21 0 1 1 9531 *** acumulado por depto 1 F 0 2 25838 ### acumulado por sexo 1 M 0 2 31494 ### acumulado por sexo 1 0 2 ### acumulado por sexo 1 1 3 57332 >>>>>> Total Geral 16 linhas selecionadas.---------. IN_SEXO. 2. total de salários e quantidade de linhas selecionadas por departamento. 2.27) Produza uma lista contendo o cargo. quantos funcionários existem por departamento. 2. temos que o valor de Grouping_id seria calculado (no exemplo) como GRP_DEPTO * 21 + GRP_SEXO * 20. D21 e E11. Desta forma as linhas em que GRP_DEPTO recebeu 0 e GRP_SEXO recebeu 1 calcularam GRP_ID com 1 (0 * 21 + 1 * 20). 2. IN_SEXO) 5 / CD_ I GROUP_ID() SUM(VL_SAL) --. 'D21') 4 GROUP BY CD_DEPTO.25) Deseja-se uma lista contendo matrícula.

.38) Um novo funcionário foi contratado na empresa. b) Pelo menos 60% do grupo de funcionários com o mesmo cargo deve ter salário menor que o dele.32) Deseja-se saber qual departamento possui maior média salarial da empresa.35) Deseja-se o total salarial e a média salarial por quantidade de anos trabalhados e por cargo dos funcionários que tenham menos de 10 anos de casa e cargo superior a 50. nr_git) dos funcionários mais graduados (com maior grau de instrução) da empresa. 2. nome completo e idade do funcionário na data de admissão. Dentre as funções predefinidas pelo SQL do Oracle9i. deseja-se totalizações por sexo. 2. o cargo definido para ele foi 55 e seu salário deve ser 2700. . por quantidade de anos e por sexo e quantidade de anos simultaneamente.80 ou 1) deseja-se saber qual o salário correspondente. Uma função é dita escalar quando se aplica a um valor (e não a um conjunto.60. vl_sal.39) Para determinar o percentual de promoção dos funcionários.20. 2.33) Deseja-se saber quais os funcionários (matrícula. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. além de um acumulado geral. CAPÍTULO 2 – SQL E SQL*PLUS 2. sobrenome e data de admissão) que possuem mais de nove anos de empresa. o maior e a média salárial do maior cargo 2.36) Deseja-se uma tabulação contendo a quantidade de funcionários por sexo e por quantidade de anos na empresa. 2. 2800 ou 2900. nome. Além dos dados individuais.31) Deseja-se uma lista (cd_mat. totais por cargo e por quantidade de ano. o maior conjunto se refere às funções escalares. Considerando-se intervalos de 20% (.40.37) Repita os dois exercícios anteriores de tal forma que os totais provenientes da quebra sejam identificados diferentemente dos valores gerados em função de valores NULL. quando cabível. CURSO COMPLETO00✦ 69 Para uso pessoal. . o maior e a média salárial do menor cargo b) o menor. Estas built- ins se aplicam à(s) coluna(s) de uma única linha. 2. 2. TÉCNICA ♦ Apresentação de exemplos que desenvolvam as funções descritas analisando as diversas opções sintáticas oferecidas. Devem ser informados. como as funções de grupo). . INTRODUÇÃO Funções são programas que realizam determinadas ações. FUNDAMENTOS EM: MODIFICAÇÃO DO RESULTADO COM FUNÇÕES PRÉ-REQUISITOS ♦ Conhecimentos básicos do comando Select. desta forma produzindo um resultado por linha.40) O novo diretor do Departamento pessoal deseja estabelecer faixas salariais para futuro enquadramento dos funcionários.34) Deseja-se uma relação contendo matrícula. simultaneamente. METODOLOGIA ♦ Apresentação e descrição sintática das funções escalares subdivididas em grupos de acordo com o tipo de parâmetro e retorno. o departamento Pessoal solicitou: a) o menor. 2. podem receber parâmetros e retornam pelo menos um resultado. Com este objetivo deseja obter informações sobre a distribuição salarial atual. As funções de que trataremos neste item são as escalares. Determine qual dos três salários se enquadra nos requisitos estabelecidos pela gerência de projetos: a) Seu salário deve ser superior ao quarto maior salário dentre os funcionários com o mesmo cargo. 2.

dois parâmetros obrigatórios e um parâmetro obrigatório e um opcional. Para efeito de simplicidade usaremos. NUMÉRICAS SIMPLES Recebem parâmetros numéricos e geram resultados numéricos. valores constantes e a tabela Dual (do dicionário de dados do Oracle). grupadas de acordo com a quantidade de parâmetros recebidos: um parâmetro. pode ser necessário que a utilizemos dentro de outra função (TO_NUMBER. Sintaxe 2. da seguinte forma: ♦ Numéricas – São aquelas que recebem parâmetros numéricos e geram resultados numéricos. portanto. ♦ Alfanuméricas – Geram resultados alfanuméricos. Esta função não determina o tipo de seu resultado. . Foram. por exemplo) para garantir que o retorno será numérico. Serão apresentadas em ordem alfabética.19 – Funções numéricas simples ABS Retorna o valor absoluto do argumento. sempre que possível. ♦ Alfanuméricas que Retornam Valores Numéricos – Recebem parâmetros alfanuméricos e geram resultados numéricos. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 70 ✦00CURSO COMPLETO Para uso pessoal. Os valores do argumento devem ser não negativos e inteiros. ♦ Conversão – Realizam conversão de tipo. pois possui apenas uma linha. ♦ Outras – Características diversas. CEIL Retorna o menor inteiro maior ou igual ao argumento. para efeito de sintaxe. Podem ser subdivididas em Trigonométricas e Numéricas Simples. na exemplificação.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Podemos subdividir este grupo de funções de acordo com o tipo de parâmetro e resultado gerado. Recebem parâmetros alfanuméricos e (algumas) numéricos. BITAND Calcula uma operação de AND entre os bits dos dois argumentos. ♦ Datas – Realizam a manipulação de datas.

2) FLOOR(-2.5. retornará o próprio valor de <expressão1>. LOG Retorna o logaritmo de <expressão2> na base <expressão1>.5) LOG(0.3513753 -3.----------- 5 2 -2 2. Neste caso BITAND(1. o resultado é zero. Se o valor do divisor (<expressão2>) for zero. Os argumentos <expressão1> e <expressão2> podem assumir qualquer valor. devemos nos lembrar que –2 é maior que –2.77. CEIL(-2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos..2).2) CEIL(-2.5) EXP(1) EXP(2) BITAND(1.5).2) ---------. porém se <expressão1> for negativo. porém. que deve ser maior que zero.5). . LN(10.----------.. EXP(2). LN Retorna o logaritmo natural do argumento.2) BITAND(6. FLOOR Retorna o maior inteiro menor que ou igual ao argumento. observamos que a função Ceil.2) ------..2).2) 2 FROM DUAL. Listagem 2.------------- 1 -3 2. CURSO COMPLETO00✦ 71 Para uso pessoal. Listagem 2.------.78 – Floor.2) 3 FROM DUAL.------.350497 MOD Retorna o resto da divisão de <expressão1> por <expressão2>. CAPÍTULO 2 – SQL E SQL*PLUS EXP Retorna e elevado à n-ésima potência (de acordo com o valor do argumento). portanto. LOG(0.5 e. A base (<expressão1>) deve ser qualquer número positivo diferente de 0 e 1 e <expressão2> deve ser maior que zero. <expressão2> deve ser inteira. EXP(1). Esta função pode ser interessante quando utilizada junto com DECODE. quando recebe um argumento negativo.----------.71828 7.71828183. 2 BITAND(1.2). o resultado está correto. Como não ocorre empate (de 1 e 1 na mesma posição correspondente). POWER Retorna <expressão1> elevada à <expressão2> potência.5). 2) fará um AND entre (001) e (010). ABS(-5) CEIL(1. Observe o resultado entre 6 (110) e 2(010).77 – Abs.----------.--------.---------.2) BITAND(5.5) LN(10.10. BITAND(6. aparentemente produz um resultado incorreto. CEIL(1. Ceil e Bitand SQL> SELECT ABS(-5). 10.38906 0 0 2 Na Listagem 2.2).5. BITAND(5. FLOOR(1. Ln e Log SQL> SELECT FLOOR(1.--------. FLOOR(-2. Para entendermos o resultado da função Bitand devemos nos lembrar da formação binária dos números envolvidos: 1 = 0 * 2**2 + 0 * 2**1 + 1 * 2**0 2 = 0 * 2**2 + 1 * 2**1 + 0 * 2**0 5 = 1 * 2**2 + 0 * 2**1 + 1 * 2**0 6 = 1 * 2**2 + 1 * 2**1 + 0 * 2**0 Uma operação AND somente produzirá resultado diferente de zero se ambos os bits correspondentes forem 1. onde e = 2.

894. MOD(-3. Os parâmetros <menor_valor> e <maior_valor> determinam o menor valor do histograma e o maior valor do histograma. se a <expressão> for menor que zero. A função retorna um resultado real. 0). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Como restrição temos que <expressão2> deve ser um valor inteiro. SQRT Retorna a raiz quadrada do argumento. serão considerados os dígitos à esquerda do ponto decimal.0) POWER(1. Caso contrário. a casa decimal será simplesmente omitida do resultado. Listagem 2.81 – Sign.-----------.----------- 1 -1 -3 1. .80 – Exemplo de Round SQL> SELECT ROUND(17.654). -2) 3 FROM DUAL. Se <expressão2> for omitida. Se <expressão2> for negativa.654. 2 POWER(1. TRUNC Retorna <expressão1> truncado para um determinado número (<expressão2>) de posições à direita do ponto deci- mal.0). o segundo argumento será considerado zero. ROUND(17.65 18 20 0 A função Round realiza a ação de arredondamento se o valor do número a ser omitido for maior ou igual a 5.-2) --------------. Os intervalos são do tipo fechado-aberto.894. SQRT(9).--------. POWER(-3.3).654. MOD(-10. 2). SIGN(-132) SQRT(9) TRUNC(175.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Listagem 2. -2) 3 FROM DUAL. Como restrição temos que <expressão2> deve ser um valor inteiro. as posições superiores ao valor de <expressão2> são apenas omitidas do resultado. O argumento (<expressão>) deve ser positivo. SIGN Retorna o sinal da <expressão>.3) POWER(-3. que será subdividido em tantos intervalos quanto determinarmos em <num_buckets> (deve ser uma constante inteira e positiva). Desta forma. serão arredondados os dígitos à esquerda do ponto decimal.654.-2) ---------. Listagem 2.-----------. TRUNC(175.654) ROUND(17.---------------.894. 3).2. o que significa que o valor inferior de cada intervalo estará incluído naquele grupo e o valor superior não.654. o segundo argumento será considerado zero.2) 3 FROM DUAL.---------------. Sqrt e Trunc SQL> SELECT SIGN(-132).---------------- 17.2.--------. -1). o valor retornado será –1. -3). A <expressão> deve ser do tipo numérica ou datetime. MOD(10.--------.0) SIGN(0) TRUNC(175.3) MOD(-10. 72 ✦00CURSO COMPLETO Para uso pessoal.----------------- -1 3 175 0 100 WIDTH_BUCKET Esta função permite a construção de um histograma de intervalos de mesmo tamanho. o valor retornado será zero e se a <expressão> for maior que zero. -3) MOD(-3.2) ROUND(17.654.2) --------.654. ROUND(17.-1) ROUND(17. Não há arredondamento.79 – Exemplo de Mod e Power SQL> SELECT MOD(10. Se a <expressão> for igual a zero.------------. TRUNC(175. o valor retornado será 1.728 9 ROUND Retorna <expressão1> arredondado para um determinado número (<expressão2>) de posições à direita do ponto decimal.894. Se <expressão2> for omitida. ROUND(17. Se <expressão2> for negativa. 2 ROUND(17. 2 SIGN(0).

o Oracle criará um Bucket 0 onde acomodará todos estes valores.20 – Funções trigonométricas Para transformarmos um ângulo (em graus) para radianos. devemos dividi-lo por 57. Os argumentos relativos a ângulos são fornecidos em radianos. O argumento (<expressão>) deve estar no intervalo de -1 a 1. 10) FAIXAS 2 FROM FUNC 3 WHERE VL_SAL BETWEEN 2000 AND 3000 4* ORDER BY 1. 1. valores acima do <maior_valor> será criado um Bucket <num_buckets> + 1 que acomodará todos os valores superiores. Caso ocorra o oposto. O resultado será fornecido em radianos e varia de 0 a p (pi).82 – Width_Bucket SQL> SELECT VL_SAL. Levam em consideração que o círculo trigonométrico tem o tamanho de 1. . Listagem 2. Estão relacionadas com cálculos matemáticos de trigonometria. CAPÍTULO 2 – SQL E SQL*PLUS Se forem encontrados valores abaixo do <menor_valor>. ------ 2045 6 2134 6 2218 6 2225 6 2380 6 2384 6 2468 7 2528 7 2537 7 2615 7 2625 7 2738 7 2774 7 2842 8 2876 8 2925 8 2975 8 2984 8 18 linhas selecionadas.29578. CURSO COMPLETO00✦ 73 Para uso pessoal. WIDTH_BUCKET(VL_SAL. ACOS Retorna o arco do cosseno (argumento) informado. Sintaxe 2. ou seja. TRIGONOMÉTRICAS Recebem parâmetros numéricos e geram resultados numéricos. 4000. VL_SAL FAIXAS -----. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

2 TRUNC(ATAN(0. 4 COSH(30/57.29578) “COSH(30)”.5) “. COS(30) COS(60) COS(0) COSH(30) COSH(60) COSH(0) --------.5) ASIN(1) ACOS(0. 2 COS(60/57.1)” 7 FROM DUAL. O resultado será fornecido em radianos e varia de -p a p (pi).29578) “ATAN2(1.5) * 57. . 3 COS(0/57.50000001 1 1. Observe que ATAN2 (<expressão1>.1) --------. O argumento (<expressão>) deve estar no intervalo de –1 a 1.--------.2) * 57. Listagem 2.--------- 30 90 60 0 ATAN Retorna o arco da tangente (<expressão>) informada.29578) “ATAN(0)”. Listagem 2.1) * 57.1) ATAN2(1.2)”. <expressão2>) produz o mesmo resultado que ATAN (<expressão1>/<expressão2>).29578) “COSH(0)” 7 FROM DUAL. ASIN(0.1)”. 4 TRUNC(ATAN2(0.5) ATAN(1) ATAN2(0. o qual deve ser expresso em radianos.29578) “COSH(60)”.--------.--------.5) “.85 – Exemplo de Cos e Cosh SQL> SELECT COS(30/57.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS ASIN Retorna o arco do seno (argumento) informado.--------- .6002868 1 74 ✦00CURSO COMPLETO Para uso pessoal.--------.--------. ATAN(0) ATAN(0. 6 TRUNC(ATAN2(1.5)”. 2 TRUNC(ASIN(1) * 57. Listagem 2.---------. 5 TRUNC(ATAN2(1. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.29578) “ACOS(0. 6 COSH(0/57. 5 COSH(60/57.5) * 57.29578) “ACOS(1) “ 5 FROM DUAL. O resultado será fornecido em radianos e varia de -p/2 a p/2 (pi / 2).--------.1) * 57. 3 TRUNC(ACOS(0. o qual deve ser expresso em radianos.1402383 1.29578) “COS(0)”.29578) “COS(60)”.---------.29578) “ATAN(0.86602541 . 3 TRUNC(ATAN(1) * 57.29578) “ASIN(1) “.--------. 4 TRUNC(ACOS(1) * 57. O resultado será fornecido em radianos e varia de -p/2 a p/2 (pi / 2).2) ATAN2(1.29578) “ASIN(0.---------- 0 26 45 0 26 45 COS Retorna o cosseno do ângulo (<expressão>) informado.83 – Asin e Acos SQL> SELECT TRUNC(ASIN(0.--------.29578) “ATAN(1)”. COSH Retorna o cosseno hiperbólico do ângulo (<expressão>) informado.84 – Exemplo de Atan e Atan2 SQL> SELECT TRUNC(ATAN(0) * 57.29578) “COS(30)”.29578) “ATAN2(1. ATAN2 Retorna o arco da tangente (<expressão1>/<expressão2>) informada.29578) “ATAN2(0.5) * 57.5) ACOS(1) --------.

SINH Retorna o seno hiperbólico do ângulo (<expressão>) informado. 4 SINH(30/57.8660254 0 . o qual deve ser expresso em radianos. 5 SINH(60/57. CHR Retorna o caracter correspondente a <valor>.29578) “SINH(30)”. a transformação de <valor> no caracter equivalente será feita de acordo com o charset do banco de dados.29578) “TANH(60)”. 5 TANH(60/57.--------. CURSO COMPLETO00✦ 75 Para uso pessoal.99999999 . Listagem 2.29578) “SIN(60)”.--------.249367 0 TAN Retorna a tangente do ângulo (<expressão>) informado.29578) “TAN(45)”.--------.57735026 1.5 .6557942 ALFANUMÉRICAS Recebem parâmetros alfanuméricos e/ou numéricos e geram resultados alfanuméricos. 2 SIN(60/57. usarão constantes para melhor entendimento e a tabela Dual (do dicionário de dados do Oracle) por conter apenas uma linha.--------. TAN(30) TAN(60) TAN(45) TANH(30) TANH(60) TANH(45) --------.29578) “TAN(60)”.29578) “SINH(60)”. preferencialmente.29578) “TANH(30)”.54785347 1.--------. Os exemplos.29578) “SIN(0)”. 3 TAN(45/57.78071443 .87 – Exemplo de Tan e Tanh SQL> SELECT TAN(30/57.29578) “TAN(30)”. . 4 TANH(30/57. 3 SIN(0/57. o qual deve ser expresso em radianos.29578) “TANH(45)” 7 FROM DUAL.--------.--------- .--------. porém serão apresentadas em ordem alfabética. Se a opção Using Nchar_Cs não for utilizada. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. o qual deve ser expresso em radianos. TANH Retorna a tangente hiperbólica do ângulo (<expressão>) informado.7320508 . o qual deve ser expresso em radianos.--------. CAPÍTULO 2 – SQL E SQL*PLUS SIN Retorna o seno do ângulo (<expressão>) informado.86 – Exemplo de Sin e Sinh SQL> SELECT SIN(30/57. 6 SINH(0/57. 6 TANH(0/57.29578) “SINH(0)” 7 FROM DUAL. SIN(30) SIN(60) SIN(0) SINH(30) SINH(60) SINH(0) --------. Esta transformação pode ser feita de acordo com o charset do banco de dados ou de acordo com o national charset .--------- . 2 TAN(60/57.29578) “SIN(30)”. A sintaxe foi organizada de acordo com a quantidade e tipo dos parâmetros recebidos.48047277 . Listagem 2.

a transformação de <valor> no caracter equivalente será feita de acordo com o national charset . etc. INITCAP Retorna <texto> com a primeira letra de cada palavra em maiúscula e as demais em minúsculas. 'SEGUNDO') “CONCAT”. .ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Sintaxe 2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. CONCAT Retorna um texto resultante da concatenação de <texto1> com <texto2>. Concat e Initcap SQL> SELECT CHR(84) ||CHR(69)||CHR(83)||CHR(84)||CHR(69) “CHR”. O charset e o national charset são especificados no momento da criação do banco de dados e não podem ser modificados posteriormente. 2 CONCAT(CONCAT('PRIMEIRO'. ' '). 3 INITCAP ('PALAVRA SEGUNDA*&^^TERCEIRA') “INITCAP” 4 FROM DUAL. O national charset determina o conjunto de valores válidos para colunas do tipo Nchar. O resultado é equivalente ao uso do operador || (concatenação). O espaço em branco determina o término de uma palavra e o início de outra. CHR CONCAT INITCAP 76 ✦00CURSO COMPLETO Para uso pessoal. O charset determina o conjunto de valores válidos para armazenamento. Podemos utilizar também outros caracteres não alfanuméricos com este fim.21 – Funções alfanuméricas Se a opção Using Nchar_Cs for utilizada. Nvarchar.88 – Chr. Listagem 2.

a string resultante será truncada para o comprimento definido por <tamanho>. LOWER LPAD LPAD LTRI ----.------. CAPÍTULO 2 – SQL E SQL*PLUS ----. INITCAP NLS_INI ------. onde <sort> pode ser um nome de idioma ou BINARY.----. 4 LTRIM('EXEEXEMPLO'. LPAD Retorna <texto1> completado à esquerda com os caracteres definidos em <texto2> para o comprimento definido por <tamanho>. Listagem 2. 5) “LPAD”. A função considera que as palavras estão separadas por brancos ou caracteres não alfanuméricos.90 – Exemplo de Initcap SQL> SELECT NLS_INITCAP('IJSLAND') “INITCAP” 2 NLS_INITCAP('IJSLAND'.---- texto exemplo @M@EXEMPLO EXEMP MPLO NLS_INITCAP Retorna <texto> com a primeira letra de cada palavra em letra maiúscula e as demais em minúsculas. 'XE') “LTRIM” 5 FROM DUAL. Caso <conjunto> não seja fornecido. 3 LPAD('EXEMPLO'.---------.------- TESTE PRIMEIRO SEGUNDO Palavra Segunda*&^^Terceira LOWER Retorna o <texto> com todas as letras em minúsculas. Caso <texto2> não seja informado. O segundo parâmetro (<nlsparam>) só pode conter a sintaxe NLS_SORT = <sort>. LTRIM Retorna <texto> sem os caracteres presentes em <conjunto>. é interrompida quando for encontrado o primeiro caracter não pertencente a <conjunto>. o caracter pesquisado será o branco. A seqüência de ordenação para determinadas línguas também apresenta requerimentos específicos para colocação de maiúsculas e minúsculas.89 – Lower. A seqüência de ordenação para determinadas línguas também tem requerimentos específicos para colocação de maiúsculas e minúsculas. 'NLS_SORT=XDUTCH') “NLS_INITCAP” 3 FROM DUAL. será completado com brancos.------- Ijsland IJsland NLS_LOWER Retorna <texto> com todas as letras em minúsculas.------. CURSO COMPLETO00✦ 77 Para uso pessoal. Lpad e Ltrim SQL> SELECT LOWER('TEXTO EXEMPLO') “LOWER”. A busca. encontrados à esquerda. 10. Listagem 2. onde <sort> pode ser um nome de idioma ou BINARY. 2 LPAD('EXEMPLO'. .-------. '@M') “LPAD”. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Se <texto1> tiver comprimento maior que o valor de <tamanho>. O segundo parâmetro (<nlsparam>) só pode conter a sintaxe NLS_SORT = <sort>. que se processa da esquerda para a direita.

que se processa da direita para a esquerda.----------- MARTA E JOÃO TESTE%2W%2 BRANCOS FIM TEXTO COM ESPAÇOS TEXTO COM X 78 ✦00CURSO COMPLETO Para uso pessoal. Se <string2> não for informada. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. O segundo parâmetro (<nlsparam>) só pode conter a sintaxe NLS_SORT = <sort>. RPAD Retorna <texto1> completado à direita com os caracteres definidos em <texto2> para o comprimento definido por <tamanho>. 10. Se omitirmos o segundo parâmetro. Listagem 2. 4 RTRIM('TEXTO COM ESPAÇOS ') “RTRIM1”. NLSSORT Retorna a string de bytes usada para ordenar <texto>. Se especificarmos BINARY. encontrados à direita. 'IA '.92 – Replace. 3 RPAD('BRANCOS'. A busca. A seqüência de ordenação para determinadas línguas também tem requerimentos específicos para colocação de maiúsculas e minúsculas.----------------------. onde <sort> pode ser um nome de idioma ou BINARY. esta função usa a ordenação default em uso na sessão.---------. cada aparecimento de <string1> em <texto> será removido. onde <sort> pode ser um nome de idioma ou BINARY. Caso <conjunto> não seja fornecido. 'TA E ') “TROCA”. Caso <texto2> não seja informado.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS NLS_UPPER Retorna <texto> com todas as letras em maiúsculas. 'NLS_SORT = BINARY') “BINARY” 3 FROM DUAL.------. Se <texto1> tiver comprimento maior que o valor de <tamanho>. 2 RPAD('TESTE'. '%2W') “COMPLETA”. TROCA COMPLETA RPAD RTRIM1 RTRIM2 -----------.-------- 1E37140001010100 43484100 REPLACE Retorna <texto> substituindo cada aparecimento de <string1> no <texto> por <string2>.91 – Exemplo de Nlssort SQL> SELECT NLSSORT('CHA') “DEFAULT”. Listagem 2. . será completado com brancos. 5 RTRIM('TEXTO COM XZSCDDCSZZSC'. ela retorna <texto>. 10)||'FIM' “RPAD”. RTRIM Retorna <texto> sem os caracteres presentes em <conjunto>. 2 NLSSORT('CHA'. O segundo parâmetro (<nlsparam>) só pode conter a sintaxe NLS_SORT = <sort>. o caracter pesquisado será o branco. 'SDCZ') “RTRIM2” 6 FROM DUAL. Rpad e Rtrim SQL> SELECT REPLACE('MARIA JOÃO'. DEFAULT BINARY ---------------------------. a string resultante será truncada para o comprimento definido por <tamanho>. é interrompida quando for encontrado o primeiro caracter não pertencente a <conjunto>.

4 SOUNDEX('Two') “Soundex”. TREAT Esta função altera o tipo declarado para a expressão. Por outro lado. -1) “SUBSTR”. TRIM A função TRIM retira caracteres iniciais (leading). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUBSTR Retorna uma parte de <texto>.------. 2 SOUNDEX('Smyth') “Soundex”. 2) “SUBSTR”. somente será estudada no Capítulo 4. 3. a utilização destas variações da função Substr está ligada à forma de armazenamento das informações no banco de dados (charset ou national charset ) ou ao ambiente do usuário. A função retorna fonemas iguais para palavras que tenham o mesmo som em inglês. A função realiza ações diferentes de acordo com o valor de <posição>. O parâmetro <tamanho>. -3. 5 SOUNDEX('Too') “Soundex”. se <posição> for menor que zero. O relacionamento entre os caracteres de <conjunto1> e <conjunto2> é posicional. 8 SUBSTR('EXEMPLO'. Finalmente. 9 FROM DUAL. o Oracle iniciará a contagem a partir do caracter mais à direita. TRANSLATE Retorna <texto> substituindo cada uma das ocorrências de <conjunto1> pela ocorrência correspondente em <conjunto2>.------. Desta forma. para Substr2 em UCS2 codepoints e para Substr4 em UCS4 codepoints. 2. Listagem 2. para SubstrC em Unicode complete characteres. A diferença ocorre em função do charset e da forma de tratamento do tamanho. indica que será considerado o comprimento determinado por <posição> até o final da string. 3 SOUNDEX('Smih') “Soundex”. Se o comprimento de <conjunto2> for inferior ao comprimento de <conjunto1>. começando no caracter definido por <posição> e com comprimento de <tamanho>. será retornado Null. Se para os parâmetros numéricos forem fornecidos valores em ponto flutuante haverá transformação com truncamento. SUBSTR4 Estas funções executam a mesma operação da função SUBSTR.5.------.93 – Exemplo de Soundex e Substr SQL> SELECT SOUNDEX('Smythe') “Soundex”.7) “SUBSTR”. SUBSTRC. CAPÍTULO 2 – SQL E SQL*PLUS SOUNDEX Retorna uma string que represente o som de <texto>. o Oracle iniciará a contagem a partir do caracter mais à esquerda. SUBSTR2.-----.------ S530 S530 S530 T000 T000 EM PL SUBSTRB. Se <posição> for zero. CURSO COMPLETO00✦ 79 Para uso pessoal. o comprimento será considerado 1 (o caracter mais à esquerda). . se <tamanho> for menor que 1.-----. Se o conjunto de caracteres a serem pesquisados (Trim_Character) ou o conjunto de caracteres onde a pesquisa será feita (Trim_Source) forem literais. 2. Uma vez que ela está ligada à definição de tipo. finais (trailing) ou ambos de uma string de caracteres. 6 SUBSTR('EXEMPLO'. deverão ser apresentados entre aspas simples. 7 SUBSTR('EXEMPLO'.------. quando omitido. Se <posição> for maior que zero. os caracteres sem correspondência serão omitidos do resultado. Para Substrb a informação é fornecida em bytes (em vez de caracteres). Soundex Soundex Soundex Soundex Soundex SUBSTR SUBSTR SUBSTR ------.

A sintaxe foi organizada de acordo com a quantidade e tipo dos parâmetros recebidos. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 2 UPPER('texto em maiúsculas') “UPPER” 3 FROM DUAL.-------------------- 1M230 TEXTO EM MAIÚSCULAS ALFANUMÉRICAS QUE RETORNAM VALORES NUMÉRICOS Neste grupo de funções. Se Trim_Source ou Trim_Character forem Null. o Oracle remove qualquer caracter final (lado direito) igual ao Trim_Character. o retorno da função será Null. porém serão apresentadas em ordem alfabética. UPPER Retorna <texto> com todas as letras maiúsculas. o Oracle remove qualquer caracter inicial (lado esquerdo) igual ao Trim_Character. por outro lado. TRIM( ----- 98765 SQL> SELECT '*'||TRIM(' ABCDEFGHI JKLMNO ')||'*' FROM DUAL. preferencialmente.96 – Exemplo de Translate e Upper SQL> SELECT TRANSLATE('EXEMPLO'. usamos um conjunto de caracteres numéricos do qual retiramos os zeros iniciais e finais. TRIM(TRA -------- @@@TESTE SQL> SELECT TRIM(LEADING '@' FROM '@@@TESTE@@@') FROM DUAL. TRIM(LEA -------- TESTE@@@ A função retorna um VARCHAR2 com comprimento máximo igual ao de Trim_Source. Se especificarmos LEADING. trataremos daquelas que recebem parâmetros alfanuméricos e geram resultados numéricos. Listagem 2. 'XPLE'. . e um conjunto de caracteres alfanuméricos (literais) do qual retiramos os brancos iniciais e finais. 80 ✦00CURSO COMPLETO Para uso pessoal. especificarmos TRAILING. Se. usarão constantes para melhor entendimento e a tabela Dual (do dicionário de dados do Oracle) por conter apenas uma linha. Se especificarmos BOTH ou omitirmos as três indicações. TRANS UPPER ----. '123') “TRANSLATE”.94.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Listagem 2. '*'||TRIM('ABCDEFGH ------------------- *ABCDEFGHI JKLMNO* Nos exemplos da Listagem 2.95 – Trim SQL> SELECT TRIM(TRAILING '@' FROM '@@@TESTE@@@') FROM DUAL. Listagem 2. Os exemplos. o default é branco. o Oracle remove tanto os caracteres do lado esquerdo quanto os do lado direito que sejam iguais ao Trim_Character. Se não especificarmos o Trim_Character.94 – Trim SQL> SELECT TRIM(0 FROM 00098765000) FROM DUAL.

-6. 2 INSTR('TEXTO EXEMPLO'.--------.97 – Exemplo de Ascii SQL> SELECT ASCII('ã') “A COM TIL”. 4 INSTR('TEXTO EXEMPLO'. 2 ASCII('Álcool') “A COM ACENTO” 3 FROM DUAL 4 / A COM TIL A COM ACENTO --------. CAPÍTULO 2 – SQL E SQL*PLUS Sintaxe 2. CURSO COMPLETO00✦ 81 Para uso pessoal. Se o banco de dados possuir um charset EBCDIC. A posição inicial de pesquisa é dada por <posição>. 'E'. a utilização destas variações da função Instr está ligada à forma de armazenamento das informações no banco de dados (charset ou national charset) ou ao ambiente do usuário.”. Para InstrB a informação é fornecida em bytes (em vez de caracteres). esta função retornará o valor EBCDIC correspondente.------------ 227 193 INSTR Retorna a posição da n-ésima ocorrência de <texto2> dentro de <texto1>. para o primeiro byte de <texto>.---------.98 que. Desta forma. a ocorrência é contabilizada da direita para a esquerda. INSTR2. . ---------. 2) “2A OCORR. -6) “POSIÇÃO -6”.--------.” 6 FROM DUAL 7 / PRIMEIRO E POSIÇÃO 3 2A OCORR. 2) “2A OCORR.--------- 2 7 9 7 2 Observe na Listagem 2. Se <posição> for negativa.98 – Exemplo de Instr SQL> SELECT INSTR('TEXTO EXEMPLO'. A ocorrência desejada é fornecida pelo parâmetro <ocorrência>. Se o charset do banco de dados for ASCII. 5 INSTR('TEXTO EXEMPLO'. INSTRB. no charset do banco de dados. a pesquisa se dará da direita para a esquerda. 'E'. A diferença ocorre em função do charset e da forma de tratamento do tamanho. 3 INSTR('TEXTO EXEMPLO'. Listagem 2. Listagem 2. esta função retornará um valor ASCII. 3. INSTRC. o posicionamento é feito da direita para a esquerda. 3) “POSIÇÃO 3”. para Instr2 em UCS2 codepoints e para Instr4 em UCS4 codepoints. 'E') “PRIMEIRO E”.22 – Funções alfanuméricas que retornam valores Numéricos ASCII Retorna a representação decimal. POSIÇÃO -6 2A OCORR. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. quando <posição> é negativa. INSTR4 Similar a Instr. 'E'. 'E'. mas a posição resultante é fornecida da esquerda para a direita. para InstrC em Unicode complete characteres.

Os exemplos. 'NLS_SORT = XSPANISH') “CLAS”. LENGTH4 Similar à função Length. 2 ADD_MONTHS('28/02/99'. 'NLS_SORT = XSPANISH') > 6 NLSSORT('CLAS'. 3 ADD_MONTHS('31/01/99'. Desta forma. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. A sintaxe foi organizada de acordo com a quantidade e tipo dos parâmetros recebidos. 'NLS_SORT = XSPANISH') 7 / LENGTH CLAS CHA ------. 3) “MAIO”.100 – Sysdate e Add_Months SQL> SELECT SYSDATE “DATA ATUAL”. para Length2 em UCS2 codepoints e para Length4 em UCS4 codepoints. O Oracle fará a conversão usando a função To_Date com o formato de acordo com o padrão em uso na estação do usuário. Para LengthB a informação é fornecida em bytes (em vez de caracteres). 2 NLSSORT('CLAS'. 1) “DIA 15” 5 FROM DUAL 82 ✦00CURSO COMPLETO Para uso pessoal. o dia resultante será o último dia do mês calculado. SYSDATE Retorna a data e hora correntes do banco de dados. Em algumas das funções de data. Listagem 2. . 3 NLSSORT('CHA'. LENGTHB. LENGTH2. podemos passar um texto no lugar do parâmetro <data>. Caso contrário. Não é afetado pelas modificações de zona de tempo da sessão do usuário. 4 ADD_MONTHS('15/01/99'. A diferença ocorre em função do charset e da forma de tratamento do tamanho. O formato de apresentação depende do idioma e do território em uso na estação do usuário. porém pode ser negativo. Nas funções Trunc e Round. ADD_MONTHS Retorna a data <data1> adicionada de <meses>. a utilização destas variações da função Length está ligada à forma de armazenamento das informações no banco de dados (charset ou national charset) ou ao ambiente do usuário. LENGTHC. será exatamente o dia fornecido no parâmetro <data1>.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS LENGTH Retorna o comprimento de <texto> em caracteres. esta ação não é possível. Listagem 2. preferencialmente usarão constantes para melhor entendimento e a tabela Dual (do dicionário de dados do Oracle) por conter apenas uma linha. para LengthC em Unicode complete characteres. 'NLS_SORT = XSPANISH') “CHA” 4 FROM DUAL 5 WHERE NLSSORT('CHA'. porém serão apresentadas em ordem alfabética (exceto Sysdate e SessionTimezone).------------ 13 1E4B1469000101010100 201400010100 DATAS Realizam manipulação de datas. 1) “FEVEREIRO”. Se o mês resultante da soma tiver menos dias que o dia calculado ou se o dia fornecido no parâmetro <data> corresponder ao último dia do mês. O parâmetro <meses> deve ser inteiro.99 – Exemplo de Length e Nlssort SQL> SELECT LENGTH('TEXTO EXEMPLO') “LENGTH”.-------------------.

SESSIONTIMEZONE Apresenta o posicionamento em relação ao fuso horário da sessão do usuário. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. esta função e a Sysdate serão similares.-------. Os fusos horários são calculados em relação ao meridiano de Greenwich. Se caminharmos para o lado esquerdo do Planisfério (para este teste é convenien- te que você tenha um à mão) estaremos subtraindo horas em relação à hora oficial de Greenwich.-------. CURSO COMPLETO00✦ 83 Para uso pessoal.23 – Funções de data CURRENT_DATE Retorna a data corrente na zona de tempo (meridiano) da sessão do usuário. Se caminharmos para a direita estaremos somando. Caso não venhamos a modificar características de meridiano.-------- 11/11/01 31/05/99 28/02/99 15/02/99 Sintaxe 2. . CAPÍTULO 2 – SQL E SQL*PLUS DATA ATU MAIO FEVEREIR DIA 15 -------.

102 – Current_Timestamp e Current_Date SQL> ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'. de acordo com a especificação da data na criação do banco de dados. CURRENT_DATE. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.101 – Sessiontimezone e Current_Date SQL> SELECT SESSIONTIMEZONE.-------------------------- -06:00 11/11/2001 08:51:49 11/11/2001 11:51:49 Observe na Listagem 2. enquanto que CURRENT_TIMESTAMP não foi afetado pela modificação nesta formatação. Sessão alterada. Listagem 2.) de um campo do tipo datetime ou interval. EXTRACT(TIMEZONE_HOUR FROM CURRENT_TIMESTAMP) HORA.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Listagem 2. apenas anexada a especificação de zona de tempo ao timestamp fornecido como parâmetro. Extract. CURRENT_DATE FROM DUAL. FROM_TZ Converte um valor de timestamp sem zona de tempo para um valor de timestamp com zona de tempo solicitada. O formato do parâmetro <time_zone_value> deve ser um offset (‘[ + | . From_Tz e Localtimestamp SQL> SELECT DBTIMEZONE.----------------. SYSDATE FROM DUAL.] TZH:TZM’). etc. 2 EXTRACT(YEAR FROM SYSDATE) ANO. Apresenta. EXTRACT Extrai uma determinada informação de tempo (por exemplo ano.----------------. SYSDATE FROM DUAL. Sessão alterada. SQL> SELECT CURRENT_TIMESTAMP. A diferença entre esta função e LocalTimestamp é que é apresentado o valor da zona de tempo enquanto que Localtimestamp não apresenta.000000 -06:00 11/11/2001 A diferença entre CURRENT_DATE e CURRENT_TIMESTAMP é que o formato de apresentação de data para CURRENT_DATE depende da sessão (observe o comando ALTER SESSION anterior). a time zone da sessão do usuário.-------------- 11/11/01 08:45:16. LOCALTIMESTAMP Retorna a data e hora corrente na zona de tempo da sessão.103 – Dbtimezone. adicionalmente. mês. CURRENT_TIMESTAMP CURRENT_DA ------------------------------. .] TZH:TZM’) ou um nome de região. A tabela V$Timezone_Names contém uma lista das zonas de tempo por nome. Não é feita conversão de hora. SESSIONTIMEZONE CURRENT_DATE SYSDATE --------------.101 que Sysdate não foi afetada pela modificação na zona de tempo da sessão do usuário. A tabela V$Timezone_Names contém uma lista das zonas de tempo por nome. CURRENT_TIMESTAMP Retorna a data corrente e hora na zona de tempo da sessão do usuário. o limite é 9). SQL> SELECT SESSIONTIMEZONE. Listagem 2. O formato do retorno pode ser um offset (‘[ + | . dia. DBTIMEZONE Retorna o valor da zona de tempo do banco de dados. CURRENT_DATE. CURRENT_TIMESTAMP. segundo. 84 ✦00CURSO COMPLETO Para uso pessoal. A precisão determina fração de segundos (o default é 6.-------------------------- -03:00 11/11/2001 11:51:45 11/11/2001 11:51:45 SQL> ALTER SESSION SET TIME_ZONE = '-6:00'. SESSIONTIMEZONE CURRENT_DATE SYSDATE --------------.

CAPÍTULO 2 – SQL E SQL*PLUS 3 FROM_TZ(TIMESTAMP '2001-10-05 19:30:25'. necessariamente. MONTHS_BETWEEN Retorna o número de meses entre <data1> e <data2>. Caso contrário.00 2001 -6 05/10/01 19:30:25.00 0001 -06:00 0000000 +04:00 000056 Neste exemplo observamos que a função Extract pode ser usada em variáveis (no caso usamos as funções SYSDATE e CURRENT_TIMESTAMP) no formato DATE ou TIMESTAMP.00 11/11/01 09:56:03. o resultado é sempre inteiro.----.----------.-------------------- -05:00 11/11/01 09:56:03. Tabela 2. BDT Bering Standard Time ou Bering Daylight Time CST. por exemplo Localtimestamp. A função Current_Timestamp é do tipo timestamp with time zone.-------------------. 4 LOCALTIMESTAMP (8) 5 FROM DUAL.---. por exemplo uma data ou timestamp with time zone. um timestamp. O primeiro parâmetro passado para a função tem de ser. o Oracle calcula a fração do resultado baseado em meses de 31 dias e considera a diferença de horas entre as datas. e o que muda realmente é o tipo de dado retornado. EDT Eastern Standard Time ou Eastern Daylight Time GMT Greenwich HST.-------. A diferença entre a função Current_Timestamp e a função Localtimestamp pode ser visualizada no exemplo. um valor que já fosse um timestamp. enquanto que Localtimestamp é do tipo timestamp. PDT Pacific Standard Time ou Pacific Daylight Time YST. ADT Atlantic Standard Time ou Atlantic Daylight Time BST. o parâmetro deve possuir especificação de zona de tempo. que passa a ser TIMESTAMP WITH TIME ZONE. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. CURSO COMPLETO00✦ 85 Para uso pessoal. A string deve estar no formato: ‘yyyy-mm-dd hh24:mi:ss’. No exemplo usamos o formato TIMESTAMP <string>. CDT Central Standard Time ou Central Daylight Time EST. DBTIME CURRENT_TIMESTAMP ANO HORA FROM_TZ LOCALTIMESTAMP(8) -----.01 – Valores válidos para Zonas Horárias (Meridianos) Abreviatura Descrição AST. alternativamente. '+4:00') FROM_TZ. NEW_TIME O parâmetro <data1> é fornecido na zona horária <zona1> e será convertido para a data e hora correspondente em <zona2>. caso contrário receberemos erro (teste com CURRENT_DATE em vez de CURRENT_TIMESTAMP). HDT Alaska-Hawaii Standard Time ou Alaska-Hawaii Daylight Time MST. Se <data1> e <data2> fizerem referência ao mesmo dia do mês ou ao último dia do mês. Receberemos erro se tentarmos outro tipo de valor. Para que possamos extrair valores como TIMEZONE_HOUR. YDT Youkon Standard Time ou Youkon Daylight Time. . Poderíamos ter usado. LAST_DAY Retorna a data do último dia do mês obtido do parâmetro <data>. MDT Mountain Standard Time ou Mountain Daylight Time NST Newfoundland Standard Time PST. Observe que o resultado da função FROM_TZ não fez nenhuma modificação na informação passada como parâmetro.

-------- 01/01/00 01/04/99 01/04/99 19/02/99 Observe que a opção WW transformou a data 17/02/1999 em 19/02/1999.'HH24:MI') EST. 2 NEXT_DAY('17/02/99'. 'DD/MM/YYYY'). 'DD/MM/YYYY'). 'DD/MM/YYYY'). isto é. A língua em que o parâmetro <dia da semana> deve ser fornecido depende do idioma em uso na sessão. SYSTIMESTAMP Retorna a data do sistema. 'Q') “QUARTO DE ANO”.----. haverá o arredondamento para o dia mais próximo.'DDMMYYYY HH24'). Listagem 2. 6 TO_CHAR(NEW_TIME(TO_DATE('10011999 10'.'GMT'. 'SÁBADO'). 'SYEAR') “ANO”.106 – Round SQL> SELECT ROUND(TO_DATE('01/07/1999'. 2 MONTHS_BETWEEN('31/03/99'. .ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS A lista da Tabela 2.----- 28/02/1999 00:00:00 2 5 5.'EST'). NEXT_DAY NEXT_DAY -------. 7 TO_CHAR(NEW_TIME(TO_DATE('10011999 10'. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.'HH24:MI') BST. 3 MONTHS_BETWEEN('15/07/99'. DIA ANO” 5 FROM DUAL.105 – Next_Day SQL> SELECT NEXT_DAY('01/01/99'.01 contém os valores válidos para <zona1> e <zona2>.----. '31/01/99') “ULTIMO DIA”.'BST'). determina a data e hora no meridiano de Greenwich. ou seja.'DDMMYYYY HH24').--------. incluindo frações de segundo e a time zone do banco de dados.'DDMMYYYY HH24'). Greenwich Mean Time) de um parâmetro do tipo datetime with time zone. ANO QUARTO D MÊS 1. Se pegarmos um calendário de 1999 veremos que o dia primeiro de janeiro caiu em uma sexta-feira.-------- 02/01/99 24/02/99 ROUND Retorna o parâmetro <data> arredondado para o formato especificado. DIA A -------. '15/02/99') “MESMO DIA”. 'QUARTA-FEIRA') 3 FROM DUAL.'GMT'.104 – Last_Day. 2 ROUND(TO_DATE('16/02/1999'.---------. 'WW') “1. Listagem 2. 'MM') “MÊS”. 5 TO_CHAR(NEW_TIME(TO_DATE('10011999 10'.03226 23:00 05:00 06:30 NEXT_DAY Retorna a data correspondente a <dia da semana> que seja posterior a <data1>. Listagem 2. SYS_EXTRACT_UTC Extrai o UTC (Coordinated Universal Time. 3 ROUND(TO_DATE('16/03/1999'. LASTDAY ULTIMO DIA MESMO DIA OUTRO DIA BST EST NST ------------------. 4 ROUND(TO_DATE('17/02/1999'. 86 ✦00CURSO COMPLETO Para uso pessoal. 'DD/MM/YYYY').--------.'HH24:MI') NST 8 FROM DUAL. Months_Between e New_Time SQL> SELECT LAST_DAY('19/02/99') LASTDAY. Desta forma a sexta-feira mais próxima do dia 17/ 02 (que é quarta-feira) corresponde ao dia 19/02 (sexta-feira).-------. '15/02/99') “OUTRO DIA”.-------. 4 MONTHS_BETWEEN('16/07/99'.'GMT'. Caso <formato> não seja informado.'NST').

MON. 4 TZ_OFFSET ('-3:00') TZ_OFF. HH.-----. MONTH. WW Mesmo dia da semana que o dia de início do ano. O parâmetro deve ser um timestamp com zona de tempo. J Dia (DEFAULT) DAY. UTC_TTAMP UTC_STR SYSTIMESTAMP TZ_OFF TZ_OFFS -------------------. Listagem 2.02 – Formatos válidos para Round e Trunc Formato Descrição CC. SYEAR. Tabela 2. MM. DY. YYY. . Caso <formato> não seja informado. IY. YY. SysTimeStamp.00 26/12/01 01:23:00. IW Mesmo dia da semana que o dia de início do ano ISO. 3 SYSTIMESTAMP. HH24 Hora MI Minuto TZ_OFFSET Retorna a time zone offset correspondente ao valor passado no parâmetro baseado na data que o comando é executado.107 – Sys_Extract_Utc.107 podemos observar que a função Sys_Extract_Utc recalcula o parâmetro recebido. YYYY. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SYYYY. W Mesmo dia da semana que o dia de início do mês. TZ_OFFSET(DBTIMEZONE) 5 FROM DUAL. fornecendo o resultado no timestamp de Greenwich. DDD. IYY. D Dia de início da semana (Domingo para o território Brazil). SCC Duas primeiras posições do ano (yyyy) mais um. YEAR. Os exemplos. DD. CAPÍTULO 2 – SQL E SQL*PLUS TRUNC Retorna o parâmetro <data> truncado para o formato especificado. CURSO COMPLETO00✦ 87 Para uso pessoal. 2 SYS_EXTRACT_UTC (TIMESTAMP '2001-12-25 19:23:00.-------- 11/11/01 17:36:13. -------------------. I Ano (ISO) Q Quarto de ano (arredondado a partir do décimo sexto dia do segundo mês do trimestre).00 -06:00') UTC_STR. A sintaxe foi organizada de acordo com a quantidade e tipo dos parâmetros recebidos. haverá o truncamento para o dia mais próximo.00 -03:00 -05:00 0000 0000000 0000 -02:00 No exemplo da Listagem 2.00 11/11/01 15:36:13. HH12. CONVERSÃO Realizam conversão de tipo. preferencialmente usarão constantes para melhor entendimento e a tabela Dual (do dicionário de dados do Oracle) por conter apenas uma linha. Y Ano (meio=01/07) IYYY. porém serão apresentadas em ordem alfabética. RM Mês (arredondado a partir do décimo sexto dia). -------------------. TZ_Offset SQL> SELECT SYS_EXTRACT_UTC (CURRENT_TIMESTAMP) UTC_TTAMP.

ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Sintaxe 2. .24 – Funções de conversão 88 ✦00CURSO COMPLETO Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.

CAST Uma conversão de tipo coleção para outro tipo coleção. row (número da linha dentro do bloco) e file (indica o arquivo – database file – onde se acha a linha). Se o resultado da subquery retornar diversas linhas. não é apresentada quando usamos o comando Describe (do SQL*Plus). O <charset _db> corresponde ao charset em que <texto> está armazenado.0. Podemos converter uma coleção anônima (o resultado de uma subquery) ou uma coleção identificada (um Varray ou uma Nested Table) em uma outra coleção que seja compatível. Bin_To_Num. Para que seja aceita a conversão.0. CAPÍTULO 2 – SQL E SQL*PLUS ASCIISTR Recebe um argumento string em qualquer charset e retorna uma string ASCII no charset do banco de dados. CURSO COMPLETO00✦ 89 Para uso pessoal. devemos indicar isso usando a palavra Multiset. CLOB ou NCLOB. CharToRowid SQL> SELECT ASCIISTR('AÇÃO') AÇÃO. NVARCHAR2. Este endereço é chamado de Rowid. Ele é composto de quatro informações: data object number (número associado a cada segmento do banco de dados). Cada argumento desta função deve representar um bit (somente valores 0 e 1 e são permitidos) no vetor. COMPOSE Recebe um argumento string em qualquer tipo de dados e retorna uma string Unicode em sua forma normalizada no mesmo charset da entrada. mas pode ser listada através de um comando Select.------. CONVERT Converte <texto> para o <charset _destino>. CHARTOROWID('AAAADdAABAAAANnAAA') 3 FROM DUAL 4 / AÇÃO MISSÃO BIN CHARTOROWID('AAAAD -----------. NCHAR. Listagem 2. O valor retornado contém somente caracteres que são válidos em SQL e a contrabarra ( \ ). O parâmetro de entrada poderá estar no formato CHAR. A string de bits informada na função BIN_TO_NUM resultou no valor 25 (2**4 + 2**3 + 2**0). ela somente será estudada no Capítulo 4.------------------ A\00C7\00C3O MISS\00C3O 25 AAAADdAABAAAANnAAA No exemplo acima o cedilha maiúsculo corresponde ao valor C7 (ou 199) e A com til corresponde ao valor C3(195). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Cada tabela (exceto Index Table) possui uma pseudocoluna chamada Rowid. CHARTOROWID Converte o valor de <texto> para o formato interno de Rowid. A contrabarra indica a presença de um valor em hexadecimal na seqüência.---------. Ela não é criada pelo DBA. O valor default é o charset do banco de dados.1. os elementos de ambas as coleções devem ser de mesmo tipo. principalmente em linguagens que não possuam variáveis com o tipo ROWID (como por exemplo C). Como esta função trata de coleções. ASCIISTR('MISSÃO') MISSÃO. . block (bloco de dados do arquivo que contém a linha). 2 BIN_TO_NUM(1. Este assunto será mais explorado no tópico Administrando o Banco de Dados. BIN_TO_NUM Converte um vetor de bits no seu número equivalente.108 – AsciiStr. VARCHAR2. Cada linha no banco de dados possui um endereço.1) BIN. A conversão do texto Rowid para formato interno pode ser útil na programação.

O segundo parâmetro pode ser uma string do tipo CHAR. Observe que 125 meses corresponde a 10 anos e 5 meses (NUMTOYMINTERVAL).-------------------. para o formato interno Raw. SQL> INSERT INTO TESTE (IMAGEM) VALUES(HEXTORAW('7D9A8B')). Bin_To_Num. õ. que deve ser um valor hexadecimal.-----.109 podemos observar o uso das funções NUMTODSINTERVAL e NUMTOYMINTERVAL. NUMTODSINTERVAL Converte um numérico para o formato de armazenamento INTERVAL DAY TO SECOND.110 – RawToHex SQL> CREATE TABLE TESTE (IMAGEM RAW(50)). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ã. O parâmetro de entrada poderá estar no formato CHAR. O primeiro parâmetro deve ser numérico. 2 CONVERT('á. Listagem 2. RAWTOHEX(IMAGEM) ---------------- 7D9A8B 90 ✦00CURSO COMPLETO Para uso pessoal. NVARCHAR2. O primeiro parâmetro deve ser numérico. VARCHAR2. +000000010-05 000000000 No exemplo da Listagem 2. ‘MONTH’ (case sensitive).109 – AsciiStr. HEXTORAW Converte <texto>. NCHAR ou NVARCHAR2 e deve corresponder a um dos seguintes valores: ‘YEAR’. RAWTOHEX. NUMTOYMINTERVAL Converte um numérico para o formato de armazenamento INTERVAL YEAR TO MONTH. O segundo parâmetro pode ser uma string do tipo CHAR. VARCHAR2. ?. Á'. ‘SECOND’ (case sensitive). NCHAR.------------- AÇÃO a. VARCHAR2. 'SECOND') NUMTODS. 'MONTH') NUMTOYM 6 FROM DUAL 7 / COMP CONVERT HEXTOR NUMTODS NUMTOYM ----------------.e.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS DECOMPOSE Recebe um argumento string em qualquer tipo de dados e retorna uma string Unicode após decomposição canônica no mesmo charset da entrada. A 7D9A8B +000000000 04:45:23. CharToRowid SQL> SELECT COMPOSE('A'||UNISTR('\00C7\00C3') ||'O') COMPOSE. 1 linha criada. Listagem 2. ?. 4 NUMTODSINTERVAL(17123.é. 5 NUMTOYMINTERVAL(125. . SQL> SELECT RAWTOHEX(IMAGEM) FROM TESTE. ‘MINUTE’. Tabela criada. RAWTONHEX Rawtohex converte <raw> para seu texto correspondente em hexadecimal e Rawtonhex converte para hexadeci- mal em NVARCHAR2. CLOB ou NCLOB. NCHAR ou NVARCHAR2 e deve corresponder a um dos seguintes valores: ‘DAY’. 'us7ascii') CONVERT. No primeiro parâmetro passamos um valor numérico (inteiro ou decimal) e no segundo informamos a unidade do primeiro parâmetro. ‘HOUR’. 3 HEXTORAW('7D9A8B') HEXTORAW.

Listagem 2. RN Mostra o número em algarismos romanos (maiúscula). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. D Mostra o símbolo de separação decimal default. MI Mostra “-” à direita de um valor negativo e branco de um valor positivo. continua CURSO COMPLETO00✦ 91 Para uso pessoal. determinando o local do aparecimento do sinal de menos para valores negativos e branco para positivos. mesmo que no formato haja zeros. S Pode ser inserido à direita ou esquerda. CLOB ou NCLOB para o charset do banco de dados. B Retorna brancos à esquerda da parte inteira de um número zero. As especificações de formato variam de acordo com a conversão desejada. L Mostra o símbolo financeiro local. será usado o formato padrão da sessão do usuário. 0 Completa o comprimento do formato com zeros (à esquerda ou direita. CAPÍTULO 2 – SQL E SQL*PLUS ROWIDTOCHAR.” decimal na posição. Mostra uma “. rn Mostra o número em algarismos romanos (minúsculas). Esse formato é determinado pelos parâmetros da National Language Support em uso. . G Mostra o símbolo de separação de milhar default. NVARCHAR2. . TO_CHAR A função To_Char possui duas sintaxes. C Mostra o símbolo financeiro ISO. Tabela 2. ROWIDTOCHAR ------------------ AAAACsAABAAAATmAAA TO_CHAR Esta primeira forma sintática da função TO_CHAR só possui um parâmetro. de acordo com a máscara fornecida). A função RowidToNchar converte um valor de Rowid para NVARCHAR2 com comprimento de 18 caracteres. o sinal de menos. Se o número for positivo é acrescentado um branco à esquerda e. ROWIDTONCHAR A função RowidToChar converte valores de Rowid para caracteres (ver CharToRowid).” na posição correspondente. Seu objetivo é converter valores NCHAR. se negativo. uma para efetuar a conversão de datas para o formato caracter e outra para converter o formato numérico para caracter. . E Notação científica.03 – numéricos válidos para To_Char e To_Number Formato Descrição $ Prefixa o valor com o símbolo $. PR Mostra um valor negativo entre <> e os positivos entre brancos. 9 A quantidade de 9’s determina o comprimento. FM Retorna um valor sem zeros à esquerda ou à direita. O tamanho da string resultante é sempre de 18 caracteres.111 – Exemplo de RowidToChar SQL> SELECT ROWIDTOCHAR(ROWID) “ROWIDTOCHAR” 2 FROM DUAL. Mostra um “. Se o formato não for especificado.

D.. CLOB ou NCLOB. NVARCHAR2.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS continuação Formato Descrição TM “Text minimum”. VARCHAR2. 'L099G999G990D00PR') “NÚMERO” 4 FROM DUAL. DAY Nome do dia. To_Timestamp e To_Timestmap_Tz Formato Descrição -/. ou na To_Date.04 – Formatos de data válidos para To_Char. EE Nome da era por extenso. 2 TO_CHAR(SYSDATE. Tabela 2. AD ou A. DY Nome do dia abreviado (3 caracteres).98.234. onde n corresponde ao número de 9’s após v. U Mostra o símbolo Euro (ou outro dual).C. TO_DATE Converte <texto> para o formato interno de data.98> TO_CLOB Converte o valor passado como parâmetro (que pode ser uma coluna NCLOB ou outro tipo de caracter) para CLOB. Listagem 2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. O parâmetro pode ser do tipo CHAR. HH12 Hora (0-12).M.:”text” Inclusão de pontuação no resultado. Os formatos numéricos podem ser usados na To_Char com parâmetro numérico. O default é TM9 que retorna o número em formato fixo (a menos que exceda 84 caracteres. DD Dia do mês (1-31).567. NCHAR. BC ou B. ou PM ou P. X Retorna o valor hexadecimal do número.-------------------------- 11/11/01 315-DOMINGO -45-45-05-4 <Cr$001. DDD Dia do ano (1-366). completado com brancos até o comprimento de 9 caracteres. V Multiplica o valor por 10n. . CC. associado ao parâmetro NLS_DUAL_CURRENCY. o Oracle assumirá que o texto está no formato de data padrão da sessão do usuário. To_Date. FF Fração de segundo.112 – To_Char SQL> SELECT sysdate. AM ou A. Indicadores BC ou AD com ou sem pontuação. ou na To_Number. E Nome da era abreviado. SCC Adiciona 1 aos dois primeiros dígitos do ano (yyyy) e prefixa datas BC com um sinal negativo. D Dia da semana (1-7).M. Os formatos de data podem ser usados na To_Char com parâmetro data.---------------------------. Indicador de meio-dia com ou sem pontuação. 'DDD-DAY-WW-IW-HH12-Q') “DATA”. O parâmetro <formato> indica em que formato está o texto. continua 92 ✦00CURSO COMPLETO Para uso pessoal. Retorna (em formato decimal) o menor número de caracteres possível. neste caso retornado em notação científica). Se o formato for omitido. SYSDATE DATA NÚMERO -------. 3 TO_CHAR(-1234567. HH..

IW Semana do ano (ISO). TZR Nome da zona de tempo (fuso horário). 49) é < 50. Se os dois últimos dígitos do ano atual (no nosso caso. SYEAR Ano por extenso. Ex. Q Quarto de ano (numérico). Prefixa anos BC com um sinal negativo. RRRR Ano. Subtrai 1 de CC se ano >= 50 e os últimos dois dígitos do ano corrente forem < 50. ‘010149’) executado no ano de 1999 geraria a data 01/01/2049. Se ano informado com 2 dígitos. SYYYY Ano. 1999) são superiores a 49 e o ano informado (no nosso caso. J Dia em data juliana. TZH Hora da zona de tempo (fuso horário). Se os dois últimos dígitos do ano atual (no nosso caso. segue as mesmas regras de RR. MI Minuto MM Mês (numérico). MONTH Nome do mês completado com brancos à direita até o comprimento de 9 caracteres. YYYY ou YYY ou YY ou Y Ano. TZD Abreviatura da zona de tempo (fuso horário). X Caracter radix local para ser usado como separador da parte fracionária dos segundos.YYY Ano com vírgula na posição marcada. o século retornado é o século corrente. Soma 1 aos dois primeiros dígitos de CC se ano for < 50 e os últimos 2 dígitos do ano corrente forem >=50. Y. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ♦ São admitidos dois modificadores: FM (retira brancos à direita e à esquerda e os zeros não significativos do resultado) e FX (exige validação exata dos caracteres no formato com os informados). o século retornado é o corrente mais um. WW A semana começa no primeiro dia no ano e incrementada de 1 a cada 7 dias. Este comando executado no ano 2000 produziria o mesmo resultado. YEAR. RM Numeral romano do mês. porém observe que a lógica seguida seria diferente. o comando to_date(‘ddmmrr’. Trimestre. RR Ano. SS Segundo. MON Nome do mês abreviado (3 caracteres). ‘010149’)) para determinação do século. o século retornado é o atual menos 1. .: ‘HH:MI:SSXFF’. W Semana do mês (numérico). TZM Minuto da zona de tempo (fuso horário). Data inicial para formato de data juliana é 01/01/4712 BC. Contabilizado da mesma forma que WW em relação ao mês. IYYY ou IYY ou IY ou I Ano ISO. CAPÍTULO 2 – SQL E SQL*PLUS continuação Formato Descrição HH24 Hora (0-23). Aceita 2 ou 4 dígitos. 49) é < 50. to_date(‘ddmmrr’. e se o ano informado for >= 50. SSSSS Segundos após a meia-noite. o século retornado é o corrente. CURSO COMPLETO00✦ 93 Para uso pessoal. 1999) são inferiores a 50 e o ano informado (no nosso caso. 1999) e o valor informado de ano (por exemplo. Como resultado. Os formatos de data possuem as seguintes características adicionais: ♦ Os formatos RR e RRRR levam em consideração o ano atual (por exemplo. e se o ano informado for >= 50.

Como primeiro passo de nosso teste. porém utilizando o tipo de dados Clob. Como segundo passo.114 – Criação da tabela com Long SQL> CREATE TABLE LONGA (CD_LONGA NUMBER. ♦ O parâmetro <nlsparam> pode conter o texto Nls_Date_Language = <idioma> para os formatos de data e pode conter os textos Nls_Numeric_Characters = ‘’<d><g>’’ Nls_Currency = ‘’<texto>’’ Nls_Isso_Currency = <territorio> para os formatos numéricos.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS ♦ São admitidos três sufixos: TH (acrescenta ao número as letras TH). 'HH24:MI:SSXFF') TIMESTAMP 7 FROM DUAL. SELECT CD_LONGA. HH:MI A. 94 ✦00CURSO COMPLETO Para uso pessoal. Tabela criada.114).115 – Criação da tabela com Lob SQL> CREATE TABLE LOB8 (CD_LOB NUMBER. Listagem 2. YYYY. TX_LONGA 3 FROM LONGA. TX_LONGA * ERRO na linha 2: ORA-00997: illegal use of LONG datatype Fizemos.'. NCHAR ou NVARCHAR2) para INTERVAL DAY TO SEC- OND. 5 'NLS_DATE_LANGUAGE = ''BRAZILIAN PORTUGUESE''') DATA. Validação completa. Podemos aplicar essa função somente a uma coluna Long ou Long Raw e somente na lista de seleção de uma subquery de um comando INSERT. DATA TIMESTAMP ------------------------. 3 'NLS_DATE_LANGUAGE = AMERICAN'). SQL> INSERT INTO LONGA 2 SELECT CD_MAT. O único parâmetro NLS que pode ser utilizado é NLS_NUMERIC_CHARACTERS. Listagem 2. SQL> INSERT INTO LOB8 2 SELECT CD_LONGA. Tabela criada. em seguida.--------------- 18 FEVEREIRO. uma tentativa de realizar uma conversão implícita da coluna Long para a coluna Lob e recebemos o erro reportado na Listagem 2.M. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 11:00 P. criamos uma tabela similar à primeira. 23:00 13:37:07. VARCHAR2. RR.'. Listagem 2. NM_FUNC ||'-'||NR_CARGO||'-'||NM_SOBRENOME||'-'||CD_MAT 3 FROM FUNC.115. 4 'DD MONTH. SQL> commit.113 – Exemplo de To_Date SQL> SELECT TO_CHAR(TO_DATE('18 FEBRUARY. 33 linhas criadas. Todos os três sufixos retornam o valor em inglês. HH24:MI'. SP (apresenta o número por extenso) e SPTH ou THSP (apresenta o ordinal do número por extenso). 2049. 2 'DD MONTH. 6 TO_CHAR(LOCALTIMESTAMP. criamos uma tabela contendo uma coluna do tipo Long e a preenchemos com dados (Listagem 2. TX_LONGA LONG). TX_LOB CLOB).M. 49. .000000 TO_DSINTERVAL Converte uma string (no formato CHAR. TO_LOB Essa função converte valores Long ou Long Raw armazenados em colunas do tipo Long para valores Lob. onde <d> indica o separador decimal e <g> o separador de grupo.

TO_LOB(TX_LONGA) 3 FROM LONGA. Validação completa. O parâmetro <formato> tem a finalidade de indicar como o texto está formatado. O formato e correspondente nlsparam pode ser relativo a DATE. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 2 TO_NUMBER('R$123. INTERVAL MONTH TO YEAR ou INTERVAL DAY TO SECOND a partir do charset do banco de dados para o national charset . A conversão de colunas Long se dará para colunas do tipo Clob ou Blob. TIMESTAMP. TO_NCHAR Converte uma string do tipo CLOB ou NCLOB a partir do charset do banco de dados para o national charset . INTERVAL MONTH TO YEAR ou INTERVAL DAY TO SECOND. To_Number e To_DsInterval SQL> SELECT TO_MULTI_BYTE('TESTE') “MULTI”. 'L999G990D00'. TO_NCHAR Converte um número para uma string NVARCHAR2. a conversão foi bem-sucedida e toda a tabela foi carregada.116 – Convertendo Long para Lob SQL> INSERT INTO LOB8 2 SELECT CD_LONGA. Listagem 2. SQL> COMMIT. TIMESTAMP WITH LOCAL TIME ZONE. .00'. uma vez que as colunas do tipo Long serão descontinuadas em uma versão futura do banco de dados (veja o tópico Características a Serem Removidas). Esta função é equivalente a TRANSLATE…USING NCHAR_CS. TIMESTAMP WITH TIME ZONE. Devemos estudar a possibilidade de estabelecer esta conversão. 3 'NLS_CURRENCY=R$') VALOR. TIMESTAMP WITH TIME ZONE. TO_NCLOB Converte valores CLOB em uma coluna LOB ou outro tipo de string para valores NCLOB. TIMESTAMP WITH LOCAL TIME ZONE. TIMESTAMP. Para a conversão de colunas Long Raw. O Oracle converte a coluna LOB a partir do charset do banco de dados para o national charset .000. CAPÍTULO 2 – SQL E SQL*PLUS Listagem 2. TO_NCHAR Converte uma string no formato DATE. TO_NUMBER Converte <texto> para o valor numérico correspondente. Neste caso. Qualquer caracter single-byte que não tenha correspondência é incluído na string de saída no formato single-byte.117 – To_Multi_Byte. devemos usar colunas do tipo Blob. TO_MULTI_BYTE Retorna <texto> com todos os seus caracteres single-byte convertidos para o seu correspondente multi-byte. 4 TO_DSINTERVAL('20 10:20:30. 33 linhas criadas.219') DSINT 5 FROM DUAL 6 / MULTI VALOR DSINT CURSO COMPLETO00✦ 95 Para uso pessoal.

To_YmInterval SQL> SELECT TO_TIMESTAMP('12/05/1932 10:32:45. Sempre que possível. que pode ser charset do banco de dados ou national charset . NCHAR ou NVARCHAR2 no formato timestamp para um valor interno de timestamp. Tanto a sintaxe quanto a apresentação das funções serão feitas em ordem alfabética.000000000 -03:00 +000000022-10 OUTRAS Neste grupo de funções. O parâmetro nls especifica o formato do texto. TO_TIMESTAMP Converte um texto de tipo CHAR. 96 ✦00CURSO COMPLETO Para uso pessoal. etc.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS ----.067000000 12/05/32 10:32:00. Ambos são especificados quando o banco de dados é criado e não podem ser mudados posteriormente. .FF') TMST. NCHAR ou NVARCHAR2 para um valor interno de TIMESTAMP WITH TIME ZONE.067'. nos exemplos.------------- 12/05/32 10:32:45. 2 TO_TIMESTAMP_TZ('12/05/1932 10:32 -3:00'. VARCHAR2. UNISTR Converte uma string em qualquer charset e a retorna em Unicode. O national charset está relacionado aos tipos de dados Nchar. Nvarchar2. ele permanecerá multi-byte no resultado. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. To_Timestamp_Tz. 'DD/MM/YYYY HH24:MI:SS. Listagem 2.-------.----------------------------- TESTE 123000 +000000020 10:20:30. 'DD/MM/YYYY HH24:MI TZH:TZM') TMSTZ.118 – To_Timestamp. Para incluirmos UCS2 codepoints devemos preceder o caracter por uma contrabarra ( \ ). BFILENAME Retorna um locator associado a um arquivo binário presente no ambiente servidor. VARCHAR2. TRANSLATE USING Converte o texto no charset especificado. NCHAR ou NVARCHAR2 para um valor interno de INTERVAL YEAR TO MONTH. Se houver caracteres multi- byte na string sem correspondente single-byte. Para incluirmos a própria contrabarra ( \ ) devemos precedê-la com outra contrabarra. TMST TMSTZ YM --------------------------.219000000 TO_SINGLE_BYTE Retorna <texto> com todos os seus caracteres multi-byte convertidos para single-byte. O parâmetro nls especifica o formato do texto.---------------------------------. VARCHAR2. Esta coluna é do tipo Bfile. veremos algumas funções que não se enquadram na classificação anterior. usaremos a tabela Dual (do dicionário de dados do Oracle). TO_TIMESTAMP_TZ Converte um texto de tipo CHAR. 3 TO_YMINTERVAL('22-10') YM 4 FROM DUAL. O objetivo é estabelecer uma ligação entre um arquivo fora do banco de dados e uma coluna no banco de dados. TO_YMINTERVAL Converte um texto de tipo CHAR.

25 – Funções Outras COALESCE Esta função retorna a primeira expressão não nula da lista. que se não for informado causará um resultado Null. Se toda a lista for pesquisada e <expressão> não for igual a nenhum dos parâmetros <compara> fornecidos. . DUMP Retorna um valor VARCHAR2 contendo o tipo de dado. o resultado será Null. CAPÍTULO 2 – SQL E SQL*PLUS Sintaxe 2. DECODE Compara <expressão> a cada valor do parâmetro <compara> e retorna <resultado> se a expressão fornecida for igual ao parâmetro <compara>. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. o resultado da função é o conteúdo do parâmetro <default>. comprimento (em bytes) e a representação interna da expressão. Se todas as expressões forem Null. CURSO COMPLETO00✦ 97 Para uso pessoal.

Entre o valor para p1: F antigo 2: DECODE('&P1'. Os formatos válidos estão presentes na Tabela 2.-------. 1 linha criada. Listagem 2. 16 Retorna o resultado em notação hexadecimal. Decode e Dump SQL> SELECT COALESCE(LENGTH(''). COL2 CLOB). Tabela 2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Entre o valor para p2: abc antigo 5: DUMP('&P2'. 16) DUMP novo 5: DUMP('abc'. novo 2: DECODE('F'. SQL> INSERT INTO TESTE_XML (C_XML) 2 VALUES 3 (SYS. 17 Retorna o resultado como caracteres simples. 'F'. 'FEMININO'. O retorno da função será zero se a estrutura não existir e > 0 se for encontrada.121 – Exists_Node SQL> CREATE TABLE TESTE_XML 2 (C_XML SYS.63 EMPTY_BLOB OU EMPTY_CLOB Retorna um locator vazio.120 – Empty_Blob e Empty_Clob SQL> CREATE TABLE TESTE_LOB (COL1 BLOB. 5 DUMP('&P2'.119 – Bfilename. EMPTY_CLOB()). Listagem 2. 'FEMININO'. Listagem 2. 10 Retorna o resultado em notação decimal. 'FEMININO'.XMLTYPE. Tabela criada.62. 3 C_URI SYS.URITYPE). 'F'. O default é retornar a representação interna inteira na notação decimal. Os argumentos <inicio> e <comprimento> podem ser combinados para determinar que parte da representação interna deve ser apresentada.---------------------- 4935 FEMININO Typ=96 Len=3: 61. 3 'M'.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS O parâmetro <formato> indica o formato no qual o valor da expressão deve ser apresentado. 16) DUMP 6 FROM DUAL.05 a seguir. Tabela criada. EXISTSNODE Esta função determina se existe uma estrutura hierárquica (passada como parâmetro) no documento especificado.05 – Formatos válidos para Dump Formato Descrição 8 Retorna o resultado em notação octal. Coalesce. NULL. 'MASCULINO'. 235*21) COALESCE.XMLTYPE. 16) DUMP COALESCE DECODE DUMP -------.CREATEXML('<Endereço> 4 <Rua>Candelária</Rua> 98 ✦00CURSO COMPLETO Para uso pessoal. . SQL> INSERT INTO TESTE_LOB 2 VALUES (EMPTY_BLOB(). 2 DECODE('&P1'. Pode ser usado para dar valor inicial a uma variável ou coluna. 4 'NÃO IDENTIFICADO') DECODE. Empty significa que o Lob está inicializado mas não preenchido com dados. 'F'.

GREATEST Retorna a maior <expressão> da lista de valores. NLS_CHARSET _DECL_LEN Retorna o comprimento da coluna em caracteres no charset fornecido. No nosso caso poderíamos ter procurado por qualquer elemento subordinado a endereço. O parâmetro <tamanho> é fornecido em bytes. CAPÍTULO 2 – SQL E SQL*PLUS 5 <Numero>60</Numero> 6 <Andar>7</Andar> 7 <Bairro>Centro</Bairro> 8 <Cidade>Rio de Janeiro</Cidade> 9 <Estado>RJ</Estado> 10 </Endereço> 11 ')). Diretamente subordinado a <Endereco> encontramos diversos elementos (<Bairro>.------- 1 1 No exemplo da Listagem 2. TEXTO ------------------- <Numero>60</Numero> Getstringval é um método do objeto Sys. <Estado>. O Oracle não completa as expressões para que fiquem do mesmo tamanho. O único cuidado é que a informação é case sensitive.GETSTRINGVAL() TEXTO 2 FROM TESTE_XML. Um documento XML pode ter uma estrutura como podemos observar no exemplo.122 – Extract SQL> SELECT EXTRACT(C_XML. <Cidade>. EXISTSNODE(C_XML. Todas as expressões após a primeira são convertidas para o tipo de dado da primeira antes de a comparação ser feita. então. ROWNUM NÓ ------. aplicar um método deste tipo de objeto e visualizar o conteúdo. O estudo sobre objetos (necessário para que você consiga entender o teste) será realizado no Capítulo 4. EXTRACT A função Extract retorna um objeto do tipo XML que contenha a hierarquia pesquisada.XMLTYPE (verifique este Datatype no Capítulo 10). SQL> SELECT ROWNUM. Listagem 2.). '/Endereco/Numero') Nó 2 FROM TESTE_XML. CURSO COMPLETO00✦ 99 Para uso pessoal. LEAST Retorna a menor <expresão> da lista de valores. '/Endereco/Numero'). O parâmetro <charset _id> corresponde ao número identificador do charset . Expressões do tipo caracter levarão em consideração o charset do banco de dados. e desta forma o parâmetro ‘/endereco/numero’ não é encontrado. Podemos. para incluirmos a informação precisamos da ajuda do método CREATEXML. O estudo sobre objetos (necessário para que você consiga entender o teste) será realizado no Capítulo 4. O Oracle não completa as expressões para que fiquem do mesmo tamanho.121 criamos uma tabela com uma coluna do tipo SYS. Como este tipo de coluna não é um tipo de dado escalar. etc. A função Existsnode verifica a existência de uma estrutura. . por exemplo.XmlType. é um objeto. 1 linha criada. Expressões do tipo caracter levarão em consideração o charset do banco de dados. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Todas as expressões após a primeira são convertidas para o tipo de dado da primeira antes de a comparação ser feita.

A palavra-chave Char_cs retorna o identificador do charset do banco de dados. NCHAR e NVARCHAR2. 'Joana'. Listagem 2. 'EXPRESSÃO2'.------.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS NLS_CHARSET _ID Retorna o número identificador do charset fornecido pelo parâmetro <texto>. Least. 100 ✦00CURSO COMPLETO Para uso pessoal. NLS_CHARSET_ID('JA16EUCFIXED')) “DECL_LEN”. 2 NVL(NULL. Listagem 2. Tanto o parâmetro <coluna> quanto o parâmetro <texto> podem ser dos tipos CHAR. Nls_Charset… SQL> SELECT GREATEST('João'. 'Januário'. 3 NVL2('EXPRESSÃO1'.------. NVL.123 – Greatest. pois neste caso o tipo de dado do retorno será Varchar2). 4 NLS_CHARSET_ID('JA16EUC') “ID”. NULLIF NVL NVL2 ------. a função retornará <expressão2>. Retorna o caminho do valor da coluna a partir do nó raiz. 'EXPRESSÃO3') NVL2 4 FROM DUAL. NVL2 SQL> SELECT NULLIF(120.124 – NULLIF. 2 LEAST('João'. 154) NULLIF. NLS_CHARSET _NAME Retorna o nome do charset correspondente ao número identificador fornecido por <charset _id>. NVL Se <expressão1> for Null. . 3 NLS_CHARSET_DECL_LEN(200. 'Januário'. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 'Jeferson') “MENOR”. Caso não sejam. Preferencialmente as duas expressões devem ser de mesmo tipo. 'RETORNO') NVL.-------. e caso contrário será retornado o próprio valor de <expressão1>. A palavra chave Nchar_cs retorna o identificador do national charset . NVL2 Se <expressão1> não for null retornará <expressão2>. 'Jeferson') “MAIOR”. Se <expressão1> for null. 5 NLS_CHARSET_NAME (2) “NAME” 6 FROM DUAL 7 / MAIO MENOR DECL_LEN ID NAME ---.-------.------ João Januário 100 830 WE8DEC NULLIF Esta função compara <expressão1> e <expressão2>. o Oracle converterá <expressão2> para o tipo de <expressão1>. a função retorna Null. Os argumentos <expressão2> e <expressão3> podem ser de qualquer tipo exceto Long. Nomes de charset inválidos causam o retorno de Null. Se o identificador fornecido não tiver correspondência com um charset válido. VARCHAR2. 'Joana'. e caso contrário será retornada <expressão1>.---------- 120 RETORNO EXPRESSÃO2 SYS_CONNECT_BY_PATH Válido apenas para queries hierárquicas. retornará <expressão3>. O argumento <expressão1> pode ser de qualquer tipo. O tipo de dado retornado será o tipo de <expressão1> (exceto se <expressão1> for de um dos tipos de dado caracter. Se forem iguais será retornado Null.

que pode ser diferente do SESSION_USER de dentro de uma Stored Procedure (como um Invoker Rights). CURSO COMPLETO00✦ 101 Para uso pessoal. Nls_calendar Retorna o calendário utilizado para determinação de datas. Session_user Retorna o nome do usuário que está logado. Nls_date_format Retorna o formato corrente para datas. CD_ CD_ PATH --.125 – SYS_CONNECT_BY_PATH SQL> SELECT CD_DEPTO. O resultado deste exemplo será melhor compreendido depois que estudarmos hierarquias. CAPÍTULO 2 – SQL E SQL*PLUS Listagem 2. que pode ser alterado com o comando ALTER SESSION SET SCHEMA <comando>. . O objetivo de um namespace é criarmos uma área associada à sessão do usuário para armazenamento de informações. '/') PATH 2 FROM DEPTO 3 CONNECT BY PRIOR CD_DEPTO = CD_DEPTO_CTB 4 START WITH CD_DEPTO = 'A00'. Session_userid Retorna o ID do usuário conectado. Current_userid Retorna o ID do usuário da sessão corrente. Tabela 2. Current schemaid Retorna o ID do schema corrente. Listagem 2. Podemos criar nossos próprios namespaces usando o package DBMS_SESSION.------------ A00 /A00 B01 A00 /A00/B01 C01 A00 /A00/C01 D01 A00 /A00/D01 D11 D01 /A00/D01/D11 D21 D01 /A00/D01/D21 E01 A00 /A00/E01 E11 E01 /A00/E01/E11 E21 E01 /A00/E01/E21 9 linhas selecionadas. SYS_CONNECT_BY_PATH (CD_DEPTO.126 – SYS_CONTEXT SQL> SELECT SYS_CONTEXT('USERENV'. SYS_CONTEXT Retorna o valor do atributo informado como parâmetro e associado com o “context namespace”. A tabela a seguir apresenta os atributos válidos para a função considerando-se o namespace default USERENV. Nls_sort Indica se a ordenação é baseada em ordem lingüística ou binária. meses e assim por diante (em datas). Current_schema Retorna o nome do schema corrente. Nls_date_language Retorna a linguagem usada para dias da semana. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. que podem vir a ser usadas em aplicações. Current_user Retorna o nome do usuário da sessão corrente. CD_DEPTO_CTB. Nls_currency Retorna o símbolo financeiro local. Ip_address Obtém o endereço de IP de um cliente se este estiver conectado ao Oracle usando o protocolo TCP-IP. neste capítulo. 'NLS_TERRITORY') 2 FROM DUAL. --.06 – Atributos para Sys_Context Formato Descrição Nls_territory Retorna o Território.

NULL) DF067895682041B9842A20C3DFFC0FF2 SYS_TYPEID Esta função retorna o typeid do mais específico tipo do parâmetro. SYS_XMLGEN Esta função retorna uma instância do tipo SYS.128 – SYS_XMLGEN SQL> SELECT SYS_XMLGEN ('TESTE') 2 FROM DUAL. Veja o próximo exemplo. Listagem 2. opcionalmente. Se <expressão> for uma instância XMLType. A <expressão> pode ser um valor escalar. um tipo definido pelo usuário ou uma instância de um XMLType. a função mapeará os atributos do tipo do usuário para elementos XML. URI(URL. Se desejarmos que a URL aponte somente o texto do documento. Para isto devemos usar um método que liste seu conteúdo. Todas as colunas (ou atributos) devem residir na mesma tabela. SYS_XMLGEN('TESTE')() --------------------- XMLTYPE() Observe que o resultado desta função é um objeto do tipo XMLType e não podemos visualizar diretamente seu conteúdo. Listagem 2. Esta função será melhor compreendida depois do estudo sobre objetos no Capítulo 4. devemos especificar o parâmetro ‘text( )’. Se a expressão for um tipo do usuário.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS SYS_CONTEXT('USERENV'. Podemos usar o URL para recuperar um documento XML no banco de dados. Devem fazer referência a valores que identifiquem uma linha (PK ou UK). somente será estudada no Capítulo 4. Por default a URL aponta para um documento XML formatado. . SPARE) ----------------------------- GUID ----------------------------- DBURITYPE('/PUBLIC/DEPTO/ROW[CD_DEPTO=''D11'']/CD_DEPTO'. Se <expressão> for escalar o resultado será um elemento XML contendo o valor escalar. um ROWID e gera uma URL do tipo DBUriType para uma coluna ou row.'NLS_TERRITORY') -------------------------------------- BRAZIL SYS_DBURIGEN Esta função recebe como parâmetro uma ou mais colunas (ou atributos) e. 102 ✦00CURSO COMPLETO Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 'D11').127 – SYS_DBURIGEN e SYS_GUID SQL> SELECT SYS_DBURIGEN(CD_DEPTO) URI. SYS_GUID Gera e retorna um identificador único global (RAW) composto de 16 bytes. Uma vez que esta função está totalmente ligada à concepção de objetos.XMLType contendo um documento XML. NULL) 8E164AF4A9A54218AA21144834232696 DBURITYPE('/PUBLIC/DEPTO/ROW[CD_DEPTO=''A00'']/CD_DEPTO'. a função incluirá o documento em um elemento XML cuja tag default é ROW. 2 SYS_GUID() GUID 3 FROM DEPTO 4 WHERE CD_DEPTO IN ('A00'.

129 – SYS_XMLAGG SQL> SELECT SYS_XMLAGG(SYS_XMLGEN('teste')). VSIZE Retorna o número de bytes usados para armazenar a representação interna de <expressão>.0"?> <ROWSET> <ROW>teste</ROW> </ROWSET> UID Retorna um número inteiro que corresponde e identifica o usuário corrente. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.GETCLOBVAL() -------------------------------------------- <?xml version=”1. ♦ Client_Info – Retorna até 64 bytes de informação obtidos da sessão do usuário e gravados pelo pacote DBMS_APPLICATION_INFO. Listagem 2. o parâmetro de inicialização do banco de dados Audit_Trail deve estar com o valor True. Os valores válidos para o parâmetro <opção> são os seguintes: ♦ Isdba – Retorna True se a sessão corrente foi habilitada como DBA. ♦ Terminal – Retorna um identificador do sistema operacional para o terminal em uso na sessão corrente.getClobVal() 2 FROM dual. ♦ Entryid – Retorna o identificador da entrada na trilha de auditoria. 456) “COM VALOR”. 3 UID. Ele adiciona um novo elemento com o nome default de ROWSET. Uid e User SQL> SELECT NVL(NULL.130 – Exemplo de Nvl. ♦ Sessionid – Retorna o identificador de auditoria da sessão. ♦ Lang – Retorna a abreviação ISO para o nome da linguagem. Listagem 2. 2 NVL(123. ♦ Instance – Retorna o número identificador da instância corrente. Para que este valor seja significativo.--------. CURSO COMPLETO00✦ 103 Para uso pessoal. USER 4 FROM DUAL. retorna False. o parâmetro de inicialização do banco de dados Audit_Trail deve estar com o valor True. Para que este valor seja significativo. 'VALOR') “NULL”. SYS_XMLAGG(SYS_XMLGEN('TESTE')). território e charset atualmente em uso na sessão. . USER Retorna o usuário corrente com o tipo de dado Varchar2.------ VALOR 123 67 DESENV USERENV Retorna informações sobre a sessão corrente.------. ♦ Language – Retorna a linguagem. Caso contrário. NULL COM VALOR UID USER ----. CAPÍTULO 2 – SQL E SQL*PLUS SYS_XMLAGG Agrega todos os documentos XML (ou fragmentos) representados por <expressão> e produz um único documento XML.

43) Deseja-se uma relação contendo nome completo do funcionário (centralizado sob o título Nome). TÉCNICA ♦ Apresentação de exemplos que desenvolvam as sintaxes descritas em uma seqüência que analise as opções sintáticas disponíveis. 104 ✦00CURSO COMPLETO Para uso pessoal. minuto e segundo (alinhado à direita sob o título Nascimento). 2. sendo que todas as vogais devem ser apresentadas em minúsculas e as consoantes em maiúsculas. mês e ano por extenso). o código do departamento (alinhado à esquerda e de tal forma que o título Depto seja apresentado). 2 VSIZE('JANUÁRIO') “TAMANHO” 3 FROM DUAL. 0. METODOLOGIA ♦ Apresentação e descrição das funções que efetuam cálculos sobre um conjunto de valores.45) Deseja-se uma relação contendo nome completo do funcionário usando letras maiúsculas e minúsculas.48) Deseja-se obter o valor numérico e nome da zona de tempo da sessão e do banco de dados.1 serão transformados na letra A. nome.47) Deseja-se realizar o enquadramento dos funcionários da empresa em uma faixa salarial.44) Deseja-se uma relação contendo o nome e sobrenome de todos os funcionários.5. . o conjunto de caracteres nacionais e o do banco de dados. sendo o intervalo salarial apreciável entre 1500 e 5000. 2. 0) formatado. e os demais números na letra D. As informações sobre salário devem ser criptografadas da seguinte forma: 22 será transformado na letra Z. sexo por extenso.------------------- BRAZILIAN PORTUGUESE_BRAZIL. idade atual e tempo de serviço para aqueles funcionários que tenham sido admitidos com menos de 21 anos.46) Deseja-se uma relação com as seguintes informações: linguagem em uso no banco de dados. cosseno e tangente do ângulo de 30 graus. número de dias entre a data de admissão e o último dia do mês da data corrente e o valor do salário (se houver definido. data e hora do nascimento. Esta relação deve ser ordenada do menor salário para o maior. o seno. 2.6 serão transformados na letra C. 4. data de nascimento formatada com hora. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.3 serão transformados na letra B. Determine a faixa de cada funcionário. mês e ano de admissão em algarismos romanos e o salário editado (contendo moeda) para todos os funcionários que possuam mais de quatro vogais em seu sobrenome.49) Receba um timestamp como parâmetro e sua zona de tempo e retorne este timestamp convertido para o horário de Greenwich.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Listagem 2. a data de hoje (com dia. caso contrário.131 – Exemplo de Userenv e Vsize SQL> SELECT USERENV('LANGUAGE') “NLS_LANGUAGE”. 2. 2. FUNDAMENTOS EM: FUNÇÕES ANALÍTICAS PRÉ-REQUISITOS ♦ Conhecimentos básicos do comando Select. a data da próxima quinta-feira. NLS_LANGUAGE TAMANHO ---------------------------------------. 2.WE8MSWIN1252 8 EXERCÍCIOS 2.42) Deseja-se uma relação contendo nome. 2. quando possível. 2. o endereço da linha do funcionário com matrícula 100. O grupo será dividido em 10 faixas iguais. sobrenome.41) Deseja-se uma relação contendo matrícula. 2.

. Não podemos especificar esta cláusula a menos que usemos ORDER BY. Tabela 2.07 – Relação de funções analíticas Avg (*) Corr (*) Covar_pop (*) Covar_samp (*) Count (*) Cume_dist Dense_rank First First_value (*) Lag Last Last_value (*) Lead Max (*) Min (*) Ntile Percent_rank Percentile_cont Percentile_disc Rank Ratio_to_report Regr_ (*) Row_number Stddev (*) Stddev_pop (*) Stddev_samp (*) Sum (*) Var_pop (*) Var_samp (*) Variance (*) Na lista acima as funções com (*) permitem a sintaxe completa da cláusula analítica. ♦ Unbounded Preceding – esta opção indica que a “window” começa na primeira linha da partição. A janela determina o intervalo de linhas para que os cálculos sejam realizados para a “current row”. ♦ Between … And – com esta cláusula podemos indicar um ponto de início e um ponto de término da janela. Desta forma as funções analíticas somente podem ser usadas na cláusula SELECT ou na ORDER BY. que corresponde a um conjunto de linhas. será usada para cálculo do resultado da função. O grupo de linhas é chamado de “window” e é definido pela cláusula “analytic”. ou seja. no grupo de funções de agregação. A primeira expressão determina o ponto inicial e a segunda expressão determina o ponto final. Esta janela pode ser definida em função de quantidade de linhas ou em função de um intervalor lógico (por exemplo tempo). Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. A palavra RANGE especifica a janela como um conjunto lógico.07 a seguir relaciona todas as funções analíticas.26 apresentada abaixo encontramos as novas funções e aquelas já estudadas mas que possuem uma sintaxe diferenciada. A Tabela 2. constantes ou outras funções). ♦ Range – o uso desta palavra significa que para cada linha selecionada será associada uma “window”. Não podemos especificar esta cláusula a menos que usemos ORDER BY. será usada para cálculo do resultado da função. A palavra ROWS indica. que corresponde a um conjunto de linhas. a função é aplicada a todas as linhas da janela. O argumento para estas funções pode ser o nome de uma coluna ou uma expressão (combinação de nomes de colunas. Esta janela. Na Sintaxe 2. Elas diferem das funções de agregação no sentido de retornarem múltiplas linhas para cada grupo. As seguintes cláusulas são encontradas na “analytic_clause”: ♦ Rows – o uso desta palavra significa que para cada linha selecionada será associada uma “window”. ainda. ou seja. CURSO COMPLETO00✦ 105 Para uso pessoal. As funções analíticas correspondem à penúltima etapa de execução de uma query (a última corresponde à cláusula ORDER BY). O que as torna analíticas é o uso da palavra chave OVER seguida das cláusulas que aparecem no início da Sintaxe 2. FUNÇÕES SOMENTE ANALÍTICAS Neste grupo apresentaremos aquelas funções ainda não estudadas no conjunto de funções de agregação. CAPÍTULO 2 – SQL E SQL*PLUS INTRODUÇÃO São programas que têm a finalidade de efetuar cálculos sobre um conjunto de linhas. Você vai observar que diversas funções desta lista já apareceram. Não pode ser usado como ponto de fim de especificação.26. a função é aplicada a todas as linhas da janela. que a determinação da janela será feita em unidades físicas (linhas). Esta janela.

Somente poderemos especificar uma expressão na cláusula ORDER BY e se <value_expr> for numérica. Se <value_expr> for usada como ponto de início deve identificar uma linha antes do ponto final. Se especificarmos RANGE. numérico. Se especificado como ponto final. respectivamente).26 – Funções Analíticas ♦ Current Row – se esta expressão for usada como ponto inicial indica que a “window” começa na linha ou valor corrente (dependendo da especificação ROW ou RANGE.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS Sintaxe 2. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. indica que a janela termina na linha corrente ou valor (dependendo da especificação ROW ou RANGE. Se especificarmos ROWS. Neste caso o ponto inicial não pode ser <value_expr> FOLLOWING. numérico e positivo ou um intervalo literal. positivo. respectivamente). então o ponto inicial também deverá ser <value_expr> Preceding. <value_expr> corresponde a um offset lógico. Neste caso o ponto final não pode ser <value_expr> PRECEDING. a <expressão> da 106 ✦00CURSO COMPLETO Para uso pessoal. . ♦ <value_expr> Preceding – se esta expressão for usada como ponto final. <value_expr> é um offset físico.

positivo. a <expressão> da cláusula ORDER BY deve ser um NUMBER ou DATE. FIRST_VALUE É uma função analítica que retorna o primeiro valor em um conjunto ordenado de valores. o primeiro cargo de cada grupo é o cargo 21. Se a cláusula for omitida. Se <value_expr> for um intervalo.60 para que estas linhas sejam restauradas e possamos testar este novo grupo de funções. cada uma delas contendo cláusulas Partition By próprias. <value_expr> é um offset físico. Esta função não pode ser usada por qualquer das outras funções analíticas como parâmetro (na <expressão>). a <expressão> da cláusula ORDER BY deve ser do tipo DATE. nr_cargo. esta função fornece o acesso a uma CURSO COMPLETO00✦ 107 Para uso pessoal.---------- A02 21 300 21 A02 45 200 21 A02 65 200 21 A02 32 100 21 A02 8 100 21 A02 32 100 21 A02 21 A02 12 21 Para entendermos o resultado temos dois passos a verificar: primeiramente devemos identificar qual a janela de linhas para cada linha selecionada e como segundo passo devemos aplicar a função First_Value a cada linha. CAPÍTULO 2 – SQL E SQL*PLUS cláusula ORDER BY deve ser um NUMBER ou DATE. ♦ Partition By – com esta cláusula podemos particionar o resultado da query em grupos baseados em um ou mais valores de <value_expr>.132 – First_Value SQL> SELECT cd_depto. Esta é uma especificação de ponto final e não pode ser usada como ponto de início. não pode ser aninhada. Podemos especificar mais de uma função analítica na mesma query. vl_sal. numérico. Se especificarmos RANGE. numérico e positivo ou um intervalo literal. Se <value_expr> for um intervalo. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. 2 first_value(nr_cargo) over (order by vl_sal DESC nulls last 4 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) TERCEIRA 5 FROM FUNC 6 WHERE CD_DEPTO = 'A02' 7 / CD_ NR_CARGO VL_SAL TERCEIRA --. Se você removeu as linhas criadas no banco de dados para teste das funções de grupo refaça o exemplo da Listagem 2. <value_expr> corresponde a um offset lógico. Somente poderemos especificar uma expressão na cláusula ORDER BY e se <value_expr> for numérica. então o ponto final também deverá ser <value_expr> Following. haverá somente um grupo. LAG É uma função analítica que fornece o acesso a mais de uma linha de uma tabela simultaneamente sem um auto-join. . Se especificarmos ROWS. o default é RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW. ♦ Unbounded Following – indica que a janela termina na última linha da partição.---------. Supondo-se um conjunto de linhas retornadas da querie e uma posição de cursor. Como a ordenação ocorre em função de salário DESC. Listagem 2. indicamos que todas as linhas selecionadas fazem parte da janela. isto é. Se <value_expr> for usada como ponto de início deve identificar uma linha antes do ponto final. Neste primeiro exemplo em função da restrição especificada UNBOUNDED PRECEDING e UNBOUNDED FOL- LOWING. a <expressão> da cláusula ORDER BY deve ser do tipo DATE. que por este motivo aparece em todos os resultados. Se omitirmos o uso da cláusula “windowing”. ♦ <value_expr> Following – se esta expressão for usada como ponto inicial.---------.

não pode ser aninhada. será retornado o segundo valor de cada seqüência.---------.---------- A02 8 100 A02 12 100 A02 21 300 A02 32 100 300 A02 32 100 100 A02 45 200 100 A02 65 200 200 A02 200 A função LAG não permite a sintaxe completa da cláusula “analytic”. Listagem 2. Supondo-se um conjunto de linhas retornadas da query e uma posição de cursor. Uma vez que a função retorna o último valor da seqüência. para o funcionário com cargo 45 e salário 200. nr_cargo. a função apresentou o salário 100 que corresponde ao salário do funcionário com cargo 32 (imediatamente anterior ao funcionário com cargo 45). e desta forma.---------. esta função fornece o acesso a uma 108 ✦00CURSO COMPLETO Para uso pessoal. Para 45 das linhas 45 e 65. 2 LAG(VL_SAL) 3 over (order by NR_CARGO ASC nulls last) ANTERIOR 4 FROM FUNC 5 WHERE CD_DEPTO = 'A02' 6 / CD_ NR_CARGO VL_SAL ANTERIOR --. o default é 1.---------. No exemplo a função traz o salário anterior em relação à ordenação de NR_CARGO. isto é.133 – Lag SQL> SELECT cd_depto.ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO – PARTE I: FUNDAMENTOS linha específica anterior a esta posição. CD_ NR_CARGO VL_SAL LAST_VALUE --.---------- A02 32 100 32 A02 32 100 8 A02 8 100 45 A02 45 200 65 A02 65 200 21 A02 21 300 A02 12 A02 12 12 A “window” deste exemplo será formada (a cada linha) a partir da linha corrente mais uma linha para frente. não pode ser aninhada. Esta função não pode ser usada por qualquer das outras funções analíticas como parâmetro (na <expressão>). . O valor <default> é retornado se o offset apontar para fora do escopo da “window”. LAST_VALUE É uma função analítica que retorna o último valor em um conjunto ordenado de valores. etc. Caso não seja especificado offset. para 65 das linhas 65 e 21. vl_sal.134 – Last_Value SQL> SELECT cd_depto. 2 LAST_VALUE(NR_CARGO) 3 over (order by VL_SAL ASC nulls last 4 ROWS BETWEEN CURRENT ROW AND 1 FOLLOWING) LAST_VALUE 5 FROM FUNC 6 WHERE CD_DEPTO = 'A02'.---------. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. Listagem 2. Esta função não pode ser usada por qualquer das outras funções analíticas como parâmetro (na <expressão>). vl_sal. ou seja. Se este parâmetro não for informado. não determinamos a janela. nr_cargo. isto é. Assim sendo para a linha com cargo 8 a “window” é composta das linhas 8 e 45. LEAD É uma função analítica que fornece o acesso a mais de uma linha de uma tabela simultaneamente sem um auto-join. o default é Null.

Listagem 2. CD_ NR_CARGO VL_SAL NTILE --. 'A00'. nr_cargo. isto é.---------. Esta função não pode ser usada por qualquer das outras funções analíticas como parâmetro (na <expressão>). 2 RATIO_TO_REPORT(VL_SAL) 3 over (PARTITION BY CD_DEPTO) RATIO 4 FROM FUNC 5 WHERE CD_DEPTO IN ('A02'. CAPÍTULO 2 – SQL E SQL*PLUS linha específica posterior a esta posição. de acordo com <expressão> e associa o número da faixa correspondente a cada linha.---------. isto é. ficando as demais vazias. não pode ser aninhada. não pode ser aninhada. o default é 1. O valor <default> é retornado se o offset apontar para fora do escopo da “window”. Esta função não pode ser usada por qualquer das outras funções analíticas como parâmetro (na <expressão>). CD_ NR_CARGO VL_SAL RATIO --. vl_sal.---------- A00 66 5275 .410505837 A00 58 4650 . 'B01'). NTILE É uma função analítica que divide um conjunto ordenado de dados em faixas. Se <expressão> for maior que o número de linhas as faixas serão preenchidas de uma em uma até a quantidade de linhas.135 – Ntile SQL> SELECT cd_depto. Indicamos a determinação de 3 faixas. Os cargos foram distribuídos da seguinte forma: de 8 a 21 para faixa 1. O conjunto de valores é determinado por <query_partition_clause>.136 – Ratio_to_Report SQL> SELECT cd_depto.---------. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.361867704 CURSO COMPLETO00✦ 109 Para uso pessoal. RATIO_TO_REPORT É uma função analítica que calcula a razão entre um val