• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Oracle 9i curso_completo
 

Oracle 9i curso_completo

on

  • 4,219 views

Oracle 9i Curso Completo sem restrições e ainda comentários para quem realmente quer aprender.

Oracle 9i Curso Completo sem restrições e ainda comentários para quem realmente quer aprender.

Statistics

Views

Total Views
4,219
Views on SlideShare
4,219
Embed Views
0

Actions

Likes
2
Downloads
242
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Oracle 9i curso_completo Oracle 9i curso_completo Presentation Transcript

    • ®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 deacordo 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 decompartilhamento P2P. A forma correta de obter este arquivo é adquirindo-o através dos sites da EditoraAxcel (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 esteproduto. 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-maileditora@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ÁRIOCRÉ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 COMPLETODEDICATÓ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).AGRADECIMENTOSA 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 AUTORALúcia Fernandes é arquiteta formada pela Universidade Federal do Rio de Janeiro. Na área de informática, suaatuação foi toda voltada para a área de suporte, especialmente banco de dados. Ministrou diversos treinamentosassociados 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ÁRIOPREFÁCIOEste 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 passandoao desenvolvimento de lógicas de programação com o PL/SQL. Consideramos que o estudo sobre objetos nobanco de dados merecia uma atenção maior, e por este motivo dedicamos o Capítulo 4 ao estudo de objetos tantoem 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 linguagemSQL, 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á quemuitas implementações foram feitas no SQL. A quantidade de funções cresceu tremendamente, a sintaxe doscomandos de DML ganhou acréscimos para aceitar o padrão ANSI. A PL/SQL também ganhou novos pacotes eimplementou 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 incrementadacom o conceito de herança e polimorfismo. No Capítulo 4 fazemos um estudo específico sobre objetos, tanto doponto 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 úteisno 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 conhecimentoatual. 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íamosestudado no livro anterior.Se você pretende se utilizar das ferramentas de desenvolvimento da Oracle, seu estudo ainda não acabou: devemospassar à 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ítulo7) 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 ReportBuilder. Quando você estiver bem experiente nas duas ferramentas, passe ao Capítulo 9 e verifique como utilizar omesmo 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 COMPLETOSe você já conhece as ferramentas em versões anteriores, o estudo dos Capítulos 7 e 8 terá o objetivo de verificar oque 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-passopara 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 comexemplos. Na parte Referência, você encontrará as propriedades dos objetos do Form e do Report, os menus, asvariáveis de sistema, os parâmetros de execução, os triggers e as rotinas dos pacotes internos. Enfim, muita informaçãopara o seu estudo.Quanto ao desenvolvimento do material, utilizamos a seguinte regra geral: os assuntos são apresentados com umaparte teórica seguida de exemplos que permitam o entendimento prático. Ao final do tópico propomos algunsexercí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 naordem 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 manuaisda Oracle.De acordo com essas convenções, as informações entre colchetes – [ ] – são opcionais e as informações entre ossímbolos < e > indicam valores a serem substituídos. Por exemplo, Round (<n> [ , <m>]) indica que a função Roundaceita 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 sintaxeDentro 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 à leiturado material. Praticar traz dúvidas que a leitura não traz; portanto refaça todos os testes apresentados, faça outrostestes 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 esteestudo, 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árioPARTE I – FUNDAMENTOS ................................................................................................................................ 1CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 .................................................................. 3Fundamentos 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 ................................................................................................................................................................. 9Fundamentos em: Substituição da Linguagem .................................................................................. 10 Executando o Regedit ......................................................................................................................................... 10 O Nó Oracle ........................................................................................................................................................ 10Fundamentos em: Criação de um Usuário-Padrão com o SQL*Plus ................................................. 12Fundamentos 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 .......................................................................................................... 20CAPÍTULO 2 – SQL E SQL*PLUS ................................................................................................................... 21Fundamentos 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) ........................................................... 23Fundamentos 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 ................................................................................................................................................................ 35Fundamentos 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 ............................................................................................................................................................ 43Fundamentos 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 ............................................................................................................................................................ 49Fundamentos 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 ............................................................................................................................................................ 53Fundamentos 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 ............................................................................................................................................................... 60VIII ✦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 ............................................................................................................................................................ 68Fundamentos 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 ...................................................................................................................................................... 90X ✦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 .......................................................................................................................................................... 104Fundamentos 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 .......................................................................................................................................................... 113Fundamentos 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 .......................................................................................................................................................... 120Fundamentos 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 ........................................................................................................................................................ 143XII ✦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 .......................................................................................................................................................... 143Fundamentos 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 .......................................................................................................................................................... 158Fundamentos 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 .......................................................................................................................................................... 168Fundamentos 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 .......................................................................................................................................................... 195Fundamentos 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 .......................................................................................................................................................... 202Fundamentos 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 ............................................................................................................................................... 211XIV ✦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 ................................................................................................................. 220CAPÍTULO 3 – PL/SQL ............................................................................................................................. 249Fundamentos 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 .............................................................................................................................. 252Fundamentos 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 .................................................................................................................................................... 254Fundamentos 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 ......................................................................................................................................... 264Fundamentos em: Declarações .......................................................................................................... 265 Introdução ........................................................................................................................................................ 265 Variáveis e Constantes ..................................................................................................................................... 265 %Type ............................................................................................................................................................... 266 Escopo e Visibilidade ........................................................................................................................................ 266 Qualificação ...................................................................................................................................................... 267 Restrições .......................................................................................................................................................... 268Fundamentos 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 .......................................................................................................................................................... 277Fundamentos 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 ............................................................................................................................................................... 287XVI ✦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 .......................................................................................................................................................... 291Fundamentos 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 .......................................................................................................................................................... 301Fundamentos 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 .......................................................................................................................................................... 315Fundamentos 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 .......................................................................................................................................................... 322Fundamentos 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 .......................................................................................................................................................... 336Fundamentos 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 .......................................................................................................................................................... 351Fundamentos 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 ........................................................................................................................... 357XVIII ✦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 .......................................................................................................................................................... 358Fundamentos 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 .......................................................................................................................................................... 371Fundamentos 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 .......................................................................................................................................................... 382Fundamentos 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 .......................................................................................................................................................... 387Fundamentos 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 .......................................................................................................................................................... 404Fundamentos em: O pacote Dbms_Random ..................................................................................... 406 Introdução ........................................................................................................................................................ 406 Exercícios .......................................................................................................................................................... 407Fundamentos em: O pacote Dbms_FlashBack .................................................................................. 408 Sobre o Pacote .................................................................................................................................................. 408 Exercícios .......................................................................................................................................................... 412Fundamentos 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 .......................................................................................................................................................... 414XX ✦00CURSO COMPLETO Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos.
    • SUMÁRIOFundamentos 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 .......................................................................................................................................................... 425Fundamentos 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 .......................................................................................................................................................... 432Fundamentos 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 .......................................................................................................................................................... 440Fundamentos 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 .......................................................................................................................................................... 455Fundamentos 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 ................................................................................................................. 464CAPÍTULO 4 – OBJETOS E COLEÇÕES .............................................................................................................. 531Fundamentos 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 .......................................................................................................................................................... 542Fundamentos em: Restrições ............................................................................................................. 542XXII ✦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 .......................................................................................................................................................... 551Fundamentos 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 .......................................................................................................................................................... 562Fundamentos 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 .......................................................................................................................................................... 568Fundamentos 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 .......................................................................................................................................................... 577Fundamentos em: Montagem da Base de Dados Objeto .................................................................. 578 Modelo Objeto ................................................................................................................................................. 578 Gerando a Base de Dados ................................................................................................................................. 579 Resolução dos Exercícios Propostos ................................................................................................................. 582CAPÍTULO 5 – CONHECENDO O BANCO DE DADOS ............................................................................................ 599Fundamentos 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 .......................................................................................................................................................... 608Fundamentos 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 .......................................................................................................................................................... 612Fundamentos em: Tabelas Temporárias ........................................................................................... 612 Conceito ........................................................................................................................................................... 612 Características .................................................................................................................................................. 613 Exercícios .......................................................................................................................................................... 614Fundamentos 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 .............................................................................................................................................................. 619XXIV ✦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 .......................................................................................................................................................... 628Fundamentos 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 .......................................................................................................................................................... 633Fundamentos 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 ................................................................................................................. 637CAPÍTULO 6 – INSTALANDO O ORACLE DEVELOPER 6I NO WINDOWS ................................................................... 655 Considerações Iniciais ...................................................................................................................................... 656Fundamentos 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 ....................................................................................................................... 662PARTE 2 – DEVELOPER ............................................................................................................................... 665CAPÍ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 COMPLETODeveloper com: Forms Developer R6i ............................................................................................... 668 Sobre o Pacote .................................................................................................................................................. 668 Sobre a Ferramenta ........................................................................................................................................... 669 Sobre o Estudo .................................................................................................................................................. 669Developer 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 .......................................................................................................................................................... 687Developer 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 .......................................................................................................................................................... 703Developer com: Interface Visual ....................................................................................................... 704XXVI ✦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 .......................................................................................................................................................... 715Developer 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 .......................................................................................................................................................... 723Developer 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 .......................................................................................................................................................... 739Developer 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 .......................................................................................................................................................... 763Developer 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 .......................................................................................................................................................... 769Developer com: Variáveis e Rotinas .................................................................................................. 771 Introdução ................................................................................................................................................... 771XXVIII ✦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 .......................................................................................................................................................... 783Developer com: Alertas, Atributos Visuais e Editores ..................................................................... 784 Alertas (Alerts) .................................................................................................................................................. 784 Atributos Visuais (Visual Attributes) ................................................................................................................ 786 Editor ................................................................................................................................................................ 787 Exercícios .......................................................................................................................................................... 789Developer 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 .......................................................................................................................................................... 800Developer 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 .......................................................................................................................................................... 807Developer 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 ...................