Baixe o app para aproveitar ainda mais
Prévia do material em texto
Lúcia Fernandes ORACLE 9i CURSO COMPLETO ® ORACLE DEVELOPER 6i PARA DESENVOLVEDORES w w w .a x c e l. c o m .b r Pirataria é crime contra os direitos autorais, com penas para os infratores de acordo com a Lei 9.610 de 19 de fevereiro de 1998. Este e-book não pode ser vendido e/ou distribuído em CD-ROM, DVD-ROM ou por programas de compartilhamento P2P. A forma correta de obter este arquivo é adquirindo-o através dos sites da Editora Axcel (www.axcel.com.br) e de Júlio Battisti (www.juliobattisti.com.br). Se você adquiriu este documento através dos meios legais descritos acima, não distribua ou venda este produto. Você estará cometendo um crime contra o autor da obra. Se você adquiriu este e-book por intermédio de terceiros, regularize sua situação entrando em contato pelo e-mail editora@axcel.com.br, para que não seja alvo das penalizações previstas em Lei. Usar cópia ilegal também é crime de violação dos direitos autorais. R E P R O D U Ç Ã O P R O I B I D A P E L A L E I D O D I R E ITO A U T O R A L . Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUMÁRIO IIICURSO COMPLETO00✦ CRÉDITOS PRODUÇÃO Alexandre Ramires Carlos Alberto Sá Ferreira REVISÃO Sandro Gomes dos Santos ARTE E DIAGRAMAÇÃO Ingo Bertelli SUPERVISOR DE PRODUÇÃO Carlos Alberto Sá Ferreira CAPA Ingo Bertelli EDITORA DE PRODUÇÃO Gisella Narcisi EDITOR RESPONSÁVEL Ricardo Reinprecht Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO IV ✦00CURSO COMPLETO DEDICATÓRIA À minha família, que me acompanha a cada dia, no desenvolvimento deste trabalho, e me encoraja a prosseguir, principalmente nos momentos de desânimo. Dedico este livro, portanto, aos meus filhos Davi, Daniel e Gabriel, ao meu esposo Dilson e aos meus pais Lourdes e Milton (em memória). E, também, a uma amiga muito especial, que foi uma grande admiradora do meu trabalho, Lucianita (em memória). AGRADECIMENTOS A todos os que me apoiaram antes e durante o desenvolvimento deste trabalho. A todo o pessoal da Axcel Books, especialmente a Alexandre Ramires, Romero Portela Rodrigues e Ricardo Reinprecht. Ao amigo Max Guyer, por mais uma vez realizar a revisão do conteúdo técnico de todo o material. SOBRE A AUTORA Lúcia Fernandes é arquiteta formada pela Universidade Federal do Rio de Janeiro. Na área de informática, sua atuação foi toda voltada para a área de suporte, especialmente banco de dados. Ministrou diversos treinamentos associados a bancos de dados e linguagens de programação, principalmente relacionados com o ambiente Oracle. Atualmente é Diretora de Suporte e Tecnologia da Relacional Consultoria e Sistemas Ltda. Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUMÁRIO VCURSO COMPLETO00✦ PREFÁCIO Este material foi construído para o desenvolvedor Oracle, ou seja, aquele profissional que deseja se tornar (ou já é) desenvolvedor de sistemas no ambiente Oracle. O livro foi dividido em três partes: ♦ Fundamentos – onde encontramos a parte básica, a interface com o banco de dados através das linguagens SQL e PL/SQL. ♦ Developer – onde encontramos o estudo das ferramentas de desenvolvimento de sistemas Form Builder e Re- port Builder. ♦ Referência – onde encontramos a sintaxe das linguagens estudadas na parte Fundamentos e lista de propriedades, de menus, de triggers, de rotinas, de parâmetros, etc. das ferramentas estudadas na parte Developer. Este livro segue a mesma linha do anterior em que, inicialmente, estudamos a linguagem SQL em seguida passando ao desenvolvimento de lógicas de programação com o PL/SQL. Consideramos que o estudo sobre objetos no banco de dados merecia uma atenção maior, e por este motivo dedicamos o Capítulo 4 ao estudo de objetos tanto em SQL quanto em PL/SQL. Assim, se você não conhece Oracle (é o seu primeiro contato), deve começar o estudo no Capítulo 2 com a linguagem SQL, passando então para o Capítulo 3, que contém a linguagem PL/SQL (para construção de aplicações em batch). De posse desse conhecimento, você poderá avaliar o que a versão 9i trouxe de novidades para o desenvolvedor. Se, por outro lado, você já conhece Oracle 8i, não deixe de estudar os Capítulos 2 e 3, pois você perceberá que muitas implementações foram feitas no SQL. A quantidade de funções cresceu tremendamente, a sintaxe dos comandos de DML ganhou acréscimos para aceitar o padrão ANSI. A PL/SQL também ganhou novos pacotes e implementou todas as alterações realizadas para o SQL. A parte (tanto da SQL quanto da PL/SQL) relativa a uso de objetos no banco de dados também foi incrementada com o conceito de herança e polimorfismo. No Capítulo 4 fazemos um estudo específico sobre objetos, tanto do ponto de vista conceitual quanto do uso no ORACLE. No Capítulo 5 o desenvolvedor encontrará alguns tópicos gerais relativos ao banco de dados, que podem ser úteis no emprego mais eficiente no software; muitas vezes, porém, não diretamente ligados ao seu dia-a-dia, por exemplo, particionamento de tabelas, views materializadas, performance do SQL, dentre outros. A parte Fundamentos conta com um conjunto de aproximadamente 250 exercícios e mais de 600 exemplos. Certamente você encontrará muita coisa interessante para estudar, independente do seu nível de conhecimento atual. Na parte Referência, você encontrará a sintaxe de SQL9i, de PL/SQL9i além da sintaxe de SQL*Plus. Para facilitar o estudo daqueles que já conhecem o Oracle8i criamos um índice exclusivo com as novidades. Neste índice incluiremos, apenas, aqueles tópicos que sofreram modificações na versão 9i ou que ainda não havíamos estudado no livro anterior. Se você pretende se utilizar das ferramentas de desenvolvimento da Oracle, seu estudo ainda não acabou: devemos passar à segunda parte (Developer), onde estão os capítulos referentes às ferramentas de desenvolvimento. Iniciamos o estudo das ferramentas com a instalação, no Capítulo 6, e passamos então ao Form Builder 6i (Capítulo 7) e Report Builder 6i (Capítulo 8). O Capítulo 9 é dedicado ao estudo das ferramentas em ambiente Web. Se você não conhece as ferramentas de desenvolvimento da Oracle, seu estudo começa no Capítulo 7, onde você conhecerá a filosofia da ferramenta (Form Builder), sua utilização passo a passo e dicas diversas. Em seguida, você deve passar ao Capítulo 8, para que possamos estudar juntos a confecção de relatórios com a ferramenta Report Builder. Quando você estiver bem experiente nas duas ferramentas, passe ao Capítulo 9 e verifique como utilizar o mesmo programa que você desenvolveu para ambiente cliente-servidor na Web (Internet ou Intranet). Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO VI ✦00CURSO COMPLETO Se você já conhece as ferramentas em versões anteriores, o estudo dos Capítulos 7 e 8 terá o objetivo de verificar o que houve de implementação na versão 6i. Não deixe, no entanto, de ler esses capítulos, pois, além das modificações, você encontrará dicas úteis ao longo do texto. No Capítulo 9, você já sabe, encontrará um estudo passo-a-passo para a implementação das aplicações em ambiente Web. A parte Developer conta com um conjunto de aproximadamente 120 exercícios e 200 figuras e 90 listagens com exemplos. Na parte Referência, você encontrará as propriedades dos objetos do Form e do Report, os menus, as variáveis de sistema, os parâmetros de execução, os triggers e as rotinas dos pacotes internos. Enfim, muita informação para o seu estudo. Quanto ao desenvolvimento do material, utilizamos a seguinte regra geral: os assuntos são apresentados com uma parte teórica seguida de exemplos que permitam o entendimento prático. Ao final do tópico propomos alguns exercícios para fixação do assunto. Todos os exercícios estão resolvidos ao final de cada capítulo, para que você possacomparar o seu resultado com uma solução. O material segue uma ordem crescente de dificuldade, isto é, minha expectativa é de que você siga o estudo na ordem proposta, pois o tópico seguinte pressupõe o conhecimento do anterior. Em relação à convenção sintática apresentada neste livro, utilizamos, basicamente, a mesma encontrada nos manuais da Oracle. De acordo com essas convenções, as informações entre colchetes – [ ] – são opcionais e as informações entre os símbolos < e > indicam valores a serem substituídos. Por exemplo, Round (<n> [ , <m>]) indica que a função Round aceita um ou dois parâmetros e que n deve ser substituído pelo valor que desejamos arredondar. Nesse caso, teríamos opcionalmente Round (1234.87) ou Round (1234.87, 1). As sintaxes alternativas e/ou as repetitivas são representadas por linhas e pontes como na figura-exemplo a seguir. Figura – Exemplo de sintaxe Dentro de cada capítulo veremos trechos das sintaxes, pois estaremos analisando individualmente os assuntos; porém, na parte de anexos, teremos a sintaxe completa com a explicação específica sobre cada opção. Como recomendação ao leitor interessado em se tornar um desenvolvedor, sugiro que não se atenha apenas à leitura do material. Praticar traz dúvidas que a leitura não traz; portanto refaça todos os testes apresentados, faça outros testes complementares com opções não exemplificadas e tente realizar todos os exercícios de fixação. Duvide e teste! Dessa forma, você terá condições de tirar suas próprias conclusões sobre as ferramentas apresentadas. Se, após este estudo, você tiver dúvidas, escreva para o e-mail da Editora, a fim de entrar em contato comigo para novas explicações. Não deixe, também, de obter todos os scripts e aplicativos presentes no livro para que seu estudo seja mais ágil. Faça download em www.axcel.com.br. Bom estudo! Lúcia. Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUMÁRIO VIICURSO COMPLETO00✦ Sumário PARTE I – FUNDAMENTOS ................................................................................................................................1 CAPÍTULO 1 – INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 ..................................................................3 Fundamentos em: Instalação do Produto ............................................................................................4 Requerimentos Para Instalação ............................................................................................................................ 4 Acompanhando a Instalação ............................................................................................................................... 4 Localização dos Arquivos ..................................................................................................................................... 5 Produtos Disponíveis ........................................................................................................................................... 5 Tipos de Instalação ............................................................................................................................................... 6 Configuração do Banco de Dados ........................................................................................................................ 7 Identificação do Banco de Dados ......................................................................................................................... 7 Local do Arquivo do Banco de Dados .................................................................................................................. 8 Conjunto de Caracteres de Banco de Dados ........................................................................................................ 8 Resumo ................................................................................................................................................................. 9 Fundamentos em: Substituição da Linguagem..................................................................................10 Executando o Regedit ......................................................................................................................................... 10 O Nó Oracle ........................................................................................................................................................ 10 Fundamentos em: Criação de um Usuário-Padrão com o SQL*Plus .................................................12 Fundamentos em: Criação da Base Relacional...................................................................................13 Modelo de Dados ............................................................................................................................................... 13 Gerando a Base de Dados ................................................................................................................................... 14 Criando o Atalho Para o SQL*Plus ..................................................................................................................... 20 Sobre a Base de Dados Objeto-Relacional .......................................................................................................... 20 CAPÍTULO 2 – SQL E SQL*PLUS ...................................................................................................................21 Fundamentos em: Linguagem SQL ......................................................................................................22 Dados Históricos ................................................................................................................................................ 22 O Oracle e o SQL ................................................................................................................................................ 22 Banco de Dados Relacional ................................................................................................................................ 22 A Abrangência da Linguagem ............................................................................................................................ 23 Linguagem de Manipulação dos Dados (Data Manipulation Language – DML) .......................................... 23 Linguagem de Definição dos Dados (Data Definition Language – DDL) ...................................................... 23 Linguagem de Controle dos Dados (Data Control Language – DCL) ........................................................... 23 Fundamentos em: Ferramenta SQL*Plus ............................................................................................24 Abrindo uma Sessão ........................................................................................................................................... 24 O SQL Buffer ....................................................................................................................................................... 24 Os Comandos do SQL*Plus ................................................................................................................................ 25 Digitando no SQL*Plus ...................................................................................................................................... 25 Comandos de Edição .......................................................................................................................................... 26 List .................................................................................................................................................................. 26 Append........................................................................................................................................................... 27 Change ...........................................................................................................................................................27 Del .................................................................................................................................................................. 28 Input .............................................................................................................................................................. 29 Edit ................................................................................................................................................................. 29 Comandos de Execução e de Encerramento ...................................................................................................... 31 Run ................................................................................................................................................................. 31 / (Barra) .......................................................................................................................................................... 32 Exit / Quit ...................................................................................................................................................... 32 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO VIII ✦00CURSO COMPLETO Describe .......................................................................................................................................................... 33 Comandos Para Tratamento de Arquivos .......................................................................................................... 34 Save ................................................................................................................................................................ 34 Get .................................................................................................................................................................. 34 Start ................................................................................................................................................................ 35 Fundamentos em: Consulta à Base de Dados .....................................................................................37 Introdução .......................................................................................................................................................... 37 Forma Básica do Comando SELECT ................................................................................................................... 37 Restringindo a Consulta ..................................................................................................................................... 38 O Uso de All Versus Distinct ou Unique ............................................................................................................ 38 Operadores de Comparação ............................................................................................................................... 39 Usando And e Or ................................................................................................................................................ 39 Mudando a Precedência das Operações ............................................................................................................. 39 Operadores Aritméticos e de Concatenação ...................................................................................................... 40 Selecionando um Intervalo de Valores – Between ............................................................................................. 40 Selecionando uma Lista de Valores – In............................................................................................................. 41 Pesquisando o Conteúdo de um Texto – Like .................................................................................................... 41 Pesquisando um Valor Desconhecido – Is Null ................................................................................................. 42 Consultando Dados de uma Tabela Particionada .............................................................................................. 42 Exercícios ............................................................................................................................................................ 43 Fundamentos em: Atualização da Base de Dados ..............................................................................43 Incluindo Novas Linhas – Insert Básico ............................................................................................................. 44 Retornando Informações dos Dados Incluídos .................................................................................................. 46 Alterando Linhas Existentes – Update Básico .................................................................................................... 46 Retornando Informações dos Dados Alterados .................................................................................................. 48 Excluindo Linhas da Base de Dados – Delete Básico ......................................................................................... 48 Retornando Informações dos Dados Excluídos ................................................................................................. 49 Exercícios ............................................................................................................................................................ 49 Fundamentos em: Ordenação e Subconsulta .....................................................................................50 Usando Apelidos ................................................................................................................................................ 50 Obtendo os Resultados em uma Ordem Específica ........................................................................................... 51 Usando Subquery Para Restringir o Resultado ................................................................................................... 52 Exercícios ............................................................................................................................................................ 53 Fundamentos em: Grupamentos .........................................................................................................53 Funções de Grupo ou de Agregação ................................................................................................................... 54 Avg ................................................................................................................................................................. 55 Corr ................................................................................................................................................................ 55 Count ............................................................................................................................................................. 56 Covar_Pop ...................................................................................................................................................... 56 Covar_Samp ................................................................................................................................................... 56 Cume_Dist ..................................................................................................................................................... 57 Dense_Rank ................................................................................................................................................... 57 First ................................................................................................................................................................ 57 Group_Id ........................................................................................................................................................58 Grouping ........................................................................................................................................................ 58 Grouping_id ................................................................................................................................................... 58 Last ................................................................................................................................................................. 58 Max ................................................................................................................................................................ 58 Min ................................................................................................................................................................. 58 Percent_Rank ................................................................................................................................................. 58 Percentile_Cont ............................................................................................................................................. 59 Percentile_Disc ............................................................................................................................................... 60 Rank ............................................................................................................................................................... 60 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUMÁRIO IXCURSO COMPLETO00✦ Regr_Avgx ...................................................................................................................................................... 61 Regr_Avgy ...................................................................................................................................................... 61 Regr_Count .................................................................................................................................................... 61 Regr_Intercept ................................................................................................................................................ 61 Regr_R2 .......................................................................................................................................................... 61 Regr_Slope ...................................................................................................................................................... 61 Regr_Sxx ......................................................................................................................................................... 61 Regr_Sxy ......................................................................................................................................................... 61 Regr_Syy ......................................................................................................................................................... 61 Stddev ............................................................................................................................................................ 62 Stddev_Pop .................................................................................................................................................... 62 Stddev_Samp .................................................................................................................................................. 62 Sum ................................................................................................................................................................ 62 Var_Pop .......................................................................................................................................................... 62 Var_Samp ....................................................................................................................................................... 62 Variance ......................................................................................................................................................... 63 Grupando as Linhas Selecionadas ...................................................................................................................... 63 Regra .............................................................................................................................................................. 64 A Cláusula Having .............................................................................................................................................. 64 As Expressões Rollup e Cube .............................................................................................................................. 65 Rollup ............................................................................................................................................................. 65 Cube ............................................................................................................................................................... 66 Identificando as Linhas com as Funções Group............................................................................................ 67 Exercícios ............................................................................................................................................................ 68 Fundamentos em: Modificação do Resultado com Funções .............................................................69 Introdução .......................................................................................................................................................... 69 Numéricas Simples ............................................................................................................................................. 70 Abs ................................................................................................................................................................. 70 Bitand ............................................................................................................................................................. 70 Ceil ................................................................................................................................................................. 70 Exp ................................................................................................................................................................. 71 Floor ............................................................................................................................................................... 71 Ln ................................................................................................................................................................... 71 Log ................................................................................................................................................................. 71 Mod ................................................................................................................................................................ 71 Power ............................................................................................................................................................. 71 Round............................................................................................................................................................. 72 Sign ................................................................................................................................................................ 72 Sqrt ................................................................................................................................................................. 72 Trunc ..............................................................................................................................................................72 Width_Bucket ................................................................................................................................................ 72 Trigonométricas ................................................................................................................................................. 73 Acos ................................................................................................................................................................ 73 Asin ................................................................................................................................................................ 74 Atan ................................................................................................................................................................ 74 Atan2 .............................................................................................................................................................. 74 Cos ................................................................................................................................................................. 74 Cosh ............................................................................................................................................................... 74 Sin .................................................................................................................................................................. 75 Sinh ................................................................................................................................................................ 75 Tan ................................................................................................................................................................. 75 Tanh ............................................................................................................................................................... 75 Alfanuméricas ..................................................................................................................................................... 75 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO X ✦00CURSO COMPLETO Chr ................................................................................................................................................................. 75 Concat ............................................................................................................................................................ 76 Initcap ............................................................................................................................................................ 76 Lower ............................................................................................................................................................. 77 Lpad ............................................................................................................................................................... 77 Ltrim .............................................................................................................................................................. 77 Nls_Initcap ..................................................................................................................................................... 77 Nls_Lower ...................................................................................................................................................... 77 Nls_Upper ...................................................................................................................................................... 78 Nlssort ............................................................................................................................................................ 78 Replace ........................................................................................................................................................... 78 Rpad ............................................................................................................................................................... 78 Rtrim .............................................................................................................................................................. 78 Soundex ......................................................................................................................................................... 79 Substr ............................................................................................................................................................. 79 Substrb, Substrc, Substr2, Substr4 .................................................................................................................. 79 Translate ......................................................................................................................................................... 79 Treat ............................................................................................................................................................... 79 Trim ................................................................................................................................................................ 79 Upper ............................................................................................................................................................. 80 Alfanuméricas que Retornam Valores Numéricos ............................................................................................. 80 Ascii ................................................................................................................................................................ 81 Instr ................................................................................................................................................................ 81 Instrb, Instrc, Instr2, Instr4 ........................................................................................................................... 81 Length ............................................................................................................................................................ 82 Lengthb, Lengthc, Length2, Length4 ............................................................................................................ 82 Datas ................................................................................................................................................................... 82 Sysdate ........................................................................................................................................................... 82 Add_Months .................................................................................................................................................. 82 Current_Date ................................................................................................................................................. 83 Sessiontimezone ............................................................................................................................................ 83 Current_Timestamp ....................................................................................................................................... 84 Dbtimezone ................................................................................................................................................... 84 Extract ............................................................................................................................................................ 84 From_Tz .........................................................................................................................................................84 LocalTimestamp ............................................................................................................................................. 84 Last_Day ......................................................................................................................................................... 85 Months_Between ........................................................................................................................................... 85 New_Time ...................................................................................................................................................... 85 Next_Day ....................................................................................................................................................... 86 Round............................................................................................................................................................. 86 Sys_Extract_UTC ............................................................................................................................................ 86 SysTimestamp ................................................................................................................................................ 86 Trunc .............................................................................................................................................................. 87 Tz_Offset ........................................................................................................................................................ 87 Conversão........................................................................................................................................................... 87 AsciiStr ........................................................................................................................................................... 89 Bin_To_Num .................................................................................................................................................. 89 Cast ................................................................................................................................................................ 89 CharToRowid ................................................................................................................................................. 89 Compose ........................................................................................................................................................ 89 Convert .......................................................................................................................................................... 89 Decompose .................................................................................................................................................... 90 HexToRaw ...................................................................................................................................................... 90 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUMÁRIO XICURSO COMPLETO00✦ Numtodsinterval ............................................................................................................................................ 90 Numtoyminterval .......................................................................................................................................... 90 RawToHex, RawToNhex ................................................................................................................................. 90 RowidToChar, RowidToNchar ....................................................................................................................... 91 To_Char .......................................................................................................................................................... 91 To_Char .......................................................................................................................................................... 91 To_Clob .......................................................................................................................................................... 92 To_Date .......................................................................................................................................................... 92 To_Dsinterval ................................................................................................................................................. 94 To_Lob............................................................................................................................................................ 94 To_Multi_Byte ................................................................................................................................................ 95 To_Nchar ........................................................................................................................................................ 95 To_Nchar ........................................................................................................................................................ 95 To_Nchar ........................................................................................................................................................ 95 To_Nclob ........................................................................................................................................................ 95 To_Number .................................................................................................................................................... 95 To_Single_Byte ............................................................................................................................................... 96 To_Timestamp................................................................................................................................................ 96 To_Timestamp_TZ .......................................................................................................................................... 96 To_Yminterval ................................................................................................................................................ 96 Translate Using .............................................................................................................................................. 96 Unistr ............................................................................................................................................................. 96 Outras ................................................................................................................................................................. 96 Bfilename ....................................................................................................................................................... 96 Coalesce ......................................................................................................................................................... 97 Decode ........................................................................................................................................................... 97 Dump ............................................................................................................................................................. 97 Empty_Blob ou Empty_Clob ......................................................................................................................... 98 ExistsNode ..................................................................................................................................................... 98 Extract ............................................................................................................................................................99 Greatest .......................................................................................................................................................... 99 Least ............................................................................................................................................................... 99 Nls_Charset _Decl_Len .................................................................................................................................. 99 Nls_Charset _Id ............................................................................................................................................ 100 Nls_Charset _Name...................................................................................................................................... 100 NullIf ............................................................................................................................................................ 100 Nvl ................................................................................................................................................................ 100 Nvl2.............................................................................................................................................................. 100 Sys_Connect_By_Path .................................................................................................................................. 100 Sys_Context ................................................................................................................................................. 101 Sys_DbUriGen .............................................................................................................................................. 102 Sys_Guid ...................................................................................................................................................... 102 Sys_Typeid.................................................................................................................................................... 102 Sys_XmlGen ................................................................................................................................................. 102 Sys_XmlAgg ................................................................................................................................................. 103 Uid ............................................................................................................................................................... 103 User .............................................................................................................................................................. 103 Userenv ........................................................................................................................................................ 103 Vsize ............................................................................................................................................................. 103 Exercícios .......................................................................................................................................................... 104 Fundamentos em: Funções Analíticas ...............................................................................................104 Introdução ........................................................................................................................................................ 105 Funções Somente Analíticas ............................................................................................................................. 105 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO XII ✦00CURSO COMPLETO First_Value .................................................................................................................................................... 107 Lag ................................................................................................................................................................ 107 Last_Value .................................................................................................................................................... 108 Lead .............................................................................................................................................................. 108 Ntile ............................................................................................................................................................. 109 Ratio_to_Report ........................................................................................................................................... 109 Row_Number ............................................................................................................................................... 110 Funções de Agregação com uso Analítico ........................................................................................................ 110 Exercícios .......................................................................................................................................................... 113 Fundamentos em: Revisão das Operações Relacionais ....................................................................113 Introdução ........................................................................................................................................................ 113 Seleção ou Restrição ......................................................................................................................................... 113 Projeção ............................................................................................................................................................ 114 União ................................................................................................................................................................ 114 Interseção ......................................................................................................................................................... 116 Diferença .......................................................................................................................................................... 116 Produto Cartesiano .......................................................................................................................................... 117 Junção ou Join .................................................................................................................................................. 117 Divisão .............................................................................................................................................................. 119 Exercícios .......................................................................................................................................................... 120 Fundamentos em: Detalhamento do SQL*Plus ................................................................................120 Comandos de Formatação ............................................................................................................................... 120 Column ........................................................................................................................................................ 120 RepHeader / RepFooter ................................................................................................................................ 123 Ttitle / Btitle ................................................................................................................................................. 124 Break ............................................................................................................................................................125 Compute ...................................................................................................................................................... 127 Clear ............................................................................................................................................................. 128 Spool ............................................................................................................................................................ 129 Show ............................................................................................................................................................ 130 Comandos Para Controle de Variáveis de Usuário .......................................................................................... 131 Define ........................................................................................................................................................... 131 Undefine ...................................................................................................................................................... 131 Variable ........................................................................................................................................................ 132 Print ............................................................................................................................................................. 133 Comandos Para Comunicação com o Usuário ................................................................................................ 133 Accept .......................................................................................................................................................... 133 Prompt ......................................................................................................................................................... 133 Pause ............................................................................................................................................................ 134 Modificando Variáveis de Sistema ................................................................................................................... 134 Set ................................................................................................................................................................. 134 Store ............................................................................................................................................................. 139 Comandos Diversos ......................................................................................................................................... 139 Connect / Disconnect .................................................................................................................................. 139 Password, Execute, Host e Remark .............................................................................................................. 140 Copy ............................................................................................................................................................. 140 Timing .......................................................................................................................................................... 140 Whenever Oserror / Sqlerror ....................................................................................................................... 140 Attribute ....................................................................................................................................................... 141 Help .............................................................................................................................................................. 141 Acionando o SQL*Plus em Batch ..................................................................................................................... 141 O Menu do SQL*Plus........................................................................................................................................ 143 Arquivo ........................................................................................................................................................ 143 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUMÁRIO XIIICURSO COMPLETO00✦ Editar ............................................................................................................................................................ 143 Procurar ........................................................................................................................................................ 143 Opções ......................................................................................................................................................... 143 Ajuda ............................................................................................................................................................ 143 Exercícios .......................................................................................................................................................... 143 Fundamentos em: Consultas Complexas ..........................................................................................145 Outer Join ......................................................................................................................................................... 145 Exists ................................................................................................................................................................. 147 Hierarquia ......................................................................................................................................................... 147 Subselects Correlacionados .............................................................................................................................. 150 Views Relacionais ............................................................................................................................................. 151 Uso de Subquery na Cláusula From ................................................................................................................. 153 Em Selects .................................................................................................................................................... 153 Em Updates .................................................................................................................................................. 154 Em Inserts .................................................................................................................................................... 155 Em Deletes ................................................................................................................................................... 155 O Comando Merge ........................................................................................................................................... 155 Inclusão Simultânea em Diversas Tabelas ........................................................................................................ 156 Usos Incomuns do Comando Select ................................................................................................................ 157 Uso de Case no Select ....................................................................................................................................... 158 Exercícios .......................................................................................................................................................... 158 Fundamentos em: O Dicionário de Dados do Oracle .......................................................................159 Introdução ........................................................................................................................................................159 User_Objects ..................................................................................................................................................... 160 User_Tables ....................................................................................................................................................... 161 User_Tab_Columns .......................................................................................................................................... 161 User_Tab_Partitions .......................................................................................................................................... 162 User_Indexes .................................................................................................................................................... 162 User_Ind_Columns........................................................................................................................................... 163 User_Ind_Partitions .......................................................................................................................................... 163 User_Constraints .............................................................................................................................................. 164 User_Cons_Columns ........................................................................................................................................ 164 User_Sequences ................................................................................................................................................ 164 User_Synonyms ................................................................................................................................................ 164 User_Users ........................................................................................................................................................ 165 User_Views ....................................................................................................................................................... 165 User_Updatable_Columns................................................................................................................................ 165 User_Types ........................................................................................................................................................ 166 User_Type_Attrs ................................................................................................................................................ 166 User_Type_Methods ......................................................................................................................................... 166 User_Nested_Tables .......................................................................................................................................... 167 User_Object_Tables .......................................................................................................................................... 167 User_Lobs ......................................................................................................................................................... 167 User_Method_Params ....................................................................................................................................... 168 User_Method_Results ....................................................................................................................................... 168 Exercícios .......................................................................................................................................................... 168 Fundamentos em: Uso da Data Control Language ..........................................................................168 Comandos Para Controle da Transação ........................................................................................................... 169 Transaction .................................................................................................................................................. 169 Commit ........................................................................................................................................................ 169 Savepoint ..................................................................................................................................................... 172 Rollback ....................................................................................................................................................... 173 Read Consistency ......................................................................................................................................... 173 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO XIV ✦00CURSO COMPLETO O Segmento de Rollback .............................................................................................................................. 175 Set Transaction Read Only ........................................................................................................................... 176 Select For Update ......................................................................................................................................... 177 DeadLocks .................................................................................................................................................... 179 Set Constraint .............................................................................................................................................. 179 Comandos Para Controle da Sessão ................................................................................................................. 181 Alter Session ................................................................................................................................................. 181 Set Role......................................................................................................................................................... 183 Globalization Support ...................................................................................................................................... 184 Características da Globalization Support .................................................................................................... 184 Esquema de Codificação .............................................................................................................................. 185 Unicode ........................................................................................................................................................ 185 Os Characters Sets do Oracle ....................................................................................................................... 185 Definindo os Parâmetros da Globalization Support.................................................................................... 185 Alter Session ................................................................................................................................................. 186 Variáveis de Ambiente ................................................................................................................................. 193 Os Parâmetros NLS em Uso nas Funções SQL ............................................................................................. 195 Exercícios .......................................................................................................................................................... 195 Fundamentos em: Index Tables e Large Objects ..............................................................................196 Index Tables .....................................................................................................................................................196 Rowid Lógico ............................................................................................................................................... 197 Comparação Entre Rowids Lógicos e Físicos ............................................................................................... 197 Comparando Index Table e Regular Table ................................................................................................... 197 Benefícios de uma Index-Organized Table .................................................................................................. 198 Large Objects .................................................................................................................................................... 198 Tipos de Lobs .................................................................................................................................................... 199 Locator.............................................................................................................................................................. 199 Lob Index ......................................................................................................................................................... 199 Comparação Entre Lob e Longs ....................................................................................................................... 200 Características das Colunas Long e Long Raw ............................................................................................ 200 Características das Colunas Lob .................................................................................................................. 200 Manipulação das Colunas Lob em SQL ........................................................................................................... 200 Inclusão ........................................................................................................................................................ 200 Alteração ...................................................................................................................................................... 201 Consultas ..................................................................................................................................................... 202 Exercícios .......................................................................................................................................................... 202 Fundamentos em: Administração do Banco de Dados ....................................................................202 Introdução ........................................................................................................................................................ 202 Schema ............................................................................................................................................................. 203 Data Definition Language ................................................................................................................................ 203 Armazenamento ............................................................................................................................................... 204 Tablespace .................................................................................................................................................... 205 Bloco Oracle ................................................................................................................................................. 205 Segmentos .................................................................................................................................................... 206 Extensão ....................................................................................................................................................... 206 Create Table ...................................................................................................................................................... 206 Tipos de Dados ............................................................................................................................................. 207 Constraints .................................................................................................................................................. 209 Create Type....................................................................................................................................................... 209 Create Index ..................................................................................................................................................... 210 Create Database Link ....................................................................................................................................... 210 Create Synonym ............................................................................................................................................... 210 Create Sequence ............................................................................................................................................... 211 Para uso pessoal. Este material não pode ser utilizado em Salas de Aula e para ministrar treinamentos. SUMÁRIO XVCURSO COMPLETO00✦ Create Role ....................................................................................................................................................... 212 Create Directory ............................................................................................................................................... 213 Create View ...................................................................................................................................................... 214 Create User ....................................................................................................................................................... 214 Alter <objeto> ................................................................................................................................................... 214 Drop <objeto> .................................................................................................................................................. 215 Truncate Table .................................................................................................................................................. 215 Rename ............................................................................................................................................................. 216 Grant ................................................................................................................................................................ 216 Grant Para os <objetos> ............................................................................................................................... 216 Grant <privilégios de sistema> .................................................................................................................... 217 Revoke .............................................................................................................................................................. 218 Revoke Para os <objetos> ............................................................................................................................. 218 Revoke <privilégios de sistema> .................................................................................................................. 219 Exercícios .......................................................................................................................................................... 219 Resolução dos Exercícios Propostos ................................................................................................................. 220 CAPÍTULO 3 – PL/SQL
Compartilhar