1683

Click here to load reader

Oracle 9i curso_completo

Embed Size (px)

DESCRIPTION

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

Citation preview

  • 1. www.axcel.com.br ORACLE 9i PARA DESENVOLVEDORES ORACLE DEVELOPER 6i CURSO COMPLETOLcia Fernandes

2. 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 no pode ser vendido e/ou distribudo em CD-ROM, DVD-ROM ou por programas decompartilhamento P2P. A forma correta de obter este arquivo adquirindo-o atravs dos sites da EditoraAxcel (www.axcel.com.br) e de Jlio Battisti (www.juliobattisti.com.br).Se voc adquiriu este documento atravs dos meios legais descritos acima, no distribua ou venda esteproduto. Voc estar cometendo um crime contra o autor da obra.Se voc adquiriu este e-book por intermdio de terceiros, regularize sua situao entrando em contato pelo [email protected], para que no seja alvo das penalizaes previstas em Lei. Usar cpia ilegal tambm crime de violao dos direitos autorais.REPRODUO PROIBIDA PELA LEIDO DIREITO AUTORAL. 3. Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 4. SUMRIOCRDITOSPRODUOAlexandre RamiresCarlos Alberto S FerreiraREVISOSandro Gomes dos SantosARTE E DIAGRAMAOIngo BertelliSUPERVISOR DE PRODUOCarlos Alberto S FerreiraCAPAIngo BertelliEDITORA DE PRODUOGisella NarcisiEDITOR RESPONSVELRicardo ReinprechtCURSO COMPLETO00III Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 5. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETODEDICATRIA minha famlia, que me acompanha a cada dia, no desenvolvimento deste trabalho, e me encoraja a prosseguir,principalmente nos momentos de desnimo. Dedico este livro, portanto, aos meus filhos Davi, Daniel e Gabriel,ao meu esposo Dilson e aos meus pais Lourdes e Milton (em memria). E, tambm, a uma amiga muito especial,que foi uma grande admiradora do meu trabalho, Lucianita (em memria).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 reviso do contedo tcnico de todo o material.SOBRE A AUTORALcia Fernandes arquiteta formada pela Universidade Federal do Rio de Janeiro. Na rea de informtica, suaatuao foi toda voltada para a rea de suporte, especialmente banco de dados. Ministrou diversos treinamentosassociados a bancos de dados e linguagens de programao, principalmente relacionados com o ambiente Oracle.Atualmente Diretora de Suporte e Tecnologia da Relacional Consultoria e Sistemas Ltda.IV00CURSO COMPLETO Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 6. SUMRIOPREFCIOEste material foi construdo 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 trs partes: Fundamentos onde encontramos a parte bsica, a interface com o banco de dados atravs das linguagens SQLe PL/SQL. Developer onde encontramos o estudo das ferramentas de desenvolvimento de sistemas Form Builder e Re-port Builder. Referncia onde encontramos a sintaxe das linguagens estudadas na parte Fundamentos e lista de propriedades,de menus, de triggers, de rotinas, de parmetros, 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 lgicas de programao com o PL/SQL. Consideramos que o estudo sobre objetos nobanco de dados merecia uma ateno maior, e por este motivo dedicamos o Captulo 4 ao estudo de objetos tantoem SQL quanto em PL/SQL.Assim, se voc no conhece Oracle ( o seu primeiro contato), deve comear o estudo no Captulo 2 com a linguagemSQL, passando ento para o Captulo 3, que contm a linguagem PL/SQL (para construo de aplicaes em batch).De posse desse conhecimento, voc poder avaliar o que a verso 9i trouxe de novidades para o desenvolvedor.Se, por outro lado, voc j conhece Oracle 8i, no deixe de estudar os Captulos 2 e 3, pois voc perceber quemuitas implementaes foram feitas no SQL. A quantidade de funes cresceu tremendamente, a sintaxe doscomandos de DML ganhou acrscimos para aceitar o padro ANSI. A PL/SQL tambm ganhou novos pacotes eimplementou todas as alteraes realizadas para o SQL.A parte (tanto da SQL quanto da PL/SQL) relativa a uso de objetos no banco de dados tambm foi incrementadacom o conceito de herana e polimorfismo. No Captulo 4 fazemos um estudo especfico sobre objetos, tanto doponto de vista conceitual quanto do uso no ORACLE.No Captulo 5 o desenvolvedor encontrar alguns tpicos gerais relativos ao banco de dados, que podem ser teisno emprego mais eficiente no software; muitas vezes, porm, no 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 exerccios e mais de 600 exemplos.Certamente voc encontrar muita coisa interessante para estudar, independente do seu nvel de conhecimentoatual. Na parte Referncia, voc encontrar a sintaxe de SQL9i, de PL/SQL9i alm da sintaxe de SQL*Plus.Para facilitar o estudo daqueles que j conhecem o Oracle8i criamos um ndice exclusivo com as novidades. Nestendice incluiremos, apenas, aqueles tpicos que sofreram modificaes na verso 9i ou que ainda no havamosestudado no livro anterior.Se voc pretende se utilizar das ferramentas de desenvolvimento da Oracle, seu estudo ainda no acabou: devemospassar segunda parte (Developer), onde esto os captulos referentes s ferramentas de desenvolvimento.Iniciamos o estudo das ferramentas com a instalao, no Captulo 6, e passamos ento ao Form Builder 6i (Captulo7) e Report Builder 6i (Captulo 8). O Captulo 9 dedicado ao estudo das ferramentas em ambiente Web.Se voc no conhece as ferramentas de desenvolvimento da Oracle, seu estudo comea no Captulo 7, onde vocconhecer a filosofia da ferramenta (Form Builder), sua utilizao passo a passo e dicas diversas. Em seguida, vocdeve passar ao Captulo 8, para que possamos estudar juntos a confeco de relatrios com a ferramenta ReportBuilder. Quando voc estiver bem experiente nas duas ferramentas, passe ao Captulo 9 e verifique como utilizar omesmo programa que voc desenvolveu para ambiente cliente-servidor na Web (Internet ou Intranet). CURSO COMPLETO00VPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 7. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETOSe voc j conhece as ferramentas em verses anteriores, o estudo dos Captulos 7 e 8 ter o objetivo de verificar oque houve de implementao na verso 6i. No deixe, no entanto, de ler esses captulos, pois, alm das modificaes,voc encontrar dicas teis ao longo do texto. No Captulo 9, voc j sabe, encontrar um estudo passo-a-passopara a implementao das aplicaes em ambiente Web.A parte Developer conta com um conjunto de aproximadamente 120 exerccios e 200 figuras e 90 listagens comexemplos. Na parte Referncia, voc encontrar as propriedades dos objetos do Form e do Report, os menus, asvariveis de sistema, os parmetros de execuo, os triggers e as rotinas dos pacotes internos. Enfim, muita informaopara o seu estudo.Quanto ao desenvolvimento do material, utilizamos a seguinte regra geral: os assuntos so apresentados com umaparte terica seguida de exemplos que permitam o entendimento prtico. Ao final do tpico propomos algunsexerccios para fixao do assunto. Todos os exerccios esto resolvidos ao final de cada captulo, para que vocpossa comparar o seu resultado com uma soluo.O material segue uma ordem crescente de dificuldade, isto , minha expectativa de que voc siga o estudo naordem proposta, pois o tpico seguinte pressupe o conhecimento do anterior.Em relao conveno sinttica apresentada neste livro, utilizamos, basicamente, a mesma encontrada nos manuaisda Oracle.De acordo com essas convenes, as informaes entre colchetes [ ] so opcionais e as informaes entre ossmbolos < e > indicam valores a serem substitudos. Por exemplo, Round ( [ , ]) indica que a funo Roundaceita um ou dois parmetros e que n deve ser substitudo pelo valor que desejamos arredondar. Nesse caso,teramos opcionalmente Round (1234.87) ou Round (1234.87, 1).As sintaxes alternativas e/ou as repetitivas so representadas por linhas e pontes como na figura-exemplo a seguir.Figura Exemplo de sintaxeDentro de cada captulo veremos trechos das sintaxes, pois estaremos analisando individualmente os assuntos;porm, na parte de anexos, teremos a sintaxe completa com a explicao especfica sobre cada opo.Como recomendao ao leitor interessado em se tornar um desenvolvedor, sugiro que no se atenha apenas leiturado material. Praticar traz dvidas que a leitura no traz; portanto refaa todos os testes apresentados, faa outrostestes complementares com opes no exemplificadas e tente realizar todos os exerccios de fixao. Duvide e teste!Dessa forma, voc ter condies de tirar suas prprias concluses sobre as ferramentas apresentadas. Se, aps esteestudo, voc tiver dvidas, escreva para o e-mail da Editora, a fim de entrar em contato comigo para novas explicaes.No deixe, tambm, de obter todos os scripts e aplicativos presentes no livro para que seu estudo seja mais gil.Faa download em www.axcel.com.br.Bom estudo!Lcia.VI00CURSO COMPLETO Para uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 8. SUMRIOSumrioPARTE I FUNDAMENTOS ................................................................................................................................ 1CAPTULO 1 INSTALANDO O PERSONAL ORACLE9I NO WINDOWS2000 .................................................................. 3Fundamentos em: Instalao do Produto ............................................................................................ 4Requerimentos Para Instalao ............................................................................................................................ 4Acompanhando a Instalao ............................................................................................................................... 4Localizao dos Arquivos ..................................................................................................................................... 5Produtos Disponveis ........................................................................................................................................... 5Tipos de Instalao ............................................................................................................................................... 6Configurao do Banco de Dados ........................................................................................................................ 7Identificao do Banco de Dados ......................................................................................................................... 7Local do Arquivo do Banco de Dados .................................................................................................................. 8Conjunto de Caracteres de Banco de Dados ........................................................................................................ 8Resumo ................................................................................................................................................................. 9Fundamentos em: Substituio da Linguagem .................................................................................. 10Executando o Regedit ......................................................................................................................................... 10O N Oracle ........................................................................................................................................................ 10Fundamentos em: Criao de um Usurio-Padro com o SQL*Plus ................................................. 12Fundamentos em: Criao da Base Relacional ................................................................................... 13Modelo de Dados ............................................................................................................................................... 13Gerando a Base de Dados ................................................................................................................................... 14Criando o Atalho Para o SQL*Plus ..................................................................................................................... 20Sobre a Base de Dados Objeto-Relacional .......................................................................................................... 20CAPTULO 2 SQL E SQL*PLUS ................................................................................................................... 21Fundamentos em: Linguagem SQL ...................................................................................................... 22Dados Histricos ................................................................................................................................................ 22O Oracle e o SQL ................................................................................................................................................ 22Banco de Dados Relacional ................................................................................................................................ 22A Abrangncia da Linguagem ............................................................................................................................ 23 Linguagem de Manipulao dos Dados (Data Manipulation Language DML) .......................................... 23 Linguagem de Definio dos Dados (Data Definition Language DDL) ...................................................... 23 Linguagem de Controle dos Dados (Data Control Language DCL) ........................................................... 23Fundamentos em: Ferramenta SQL*Plus ............................................................................................ 24Abrindo uma Sesso ........................................................................................................................................... 24O SQL Buffer ....................................................................................................................................................... 24Os Comandos do SQL*Plus ................................................................................................................................ 25Digitando no SQL*Plus ...................................................................................................................................... 25Comandos de Edio .......................................................................................................................................... 26 List .................................................................................................................................................................. 26 Append ........................................................................................................................................................... 27 Change ........................................................................................................................................................... 27 Del .................................................................................................................................................................. 28 Input .............................................................................................................................................................. 29 Edit ................................................................................................................................................................. 29Comandos de Execuo e de Encerramento ...................................................................................................... 31 Run ................................................................................................................................................................. 31 / (Barra) .......................................................................................................................................................... 32 Exit / Quit ...................................................................................................................................................... 32 CURSO COMPLETO00 VIIPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 9. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO Describe .......................................................................................................................................................... 33Comandos Para Tratamento de Arquivos .......................................................................................................... 34 Save ................................................................................................................................................................ 34 Get .................................................................................................................................................................. 34 Start ................................................................................................................................................................ 35Fundamentos em: Consulta Base de Dados ..................................................................................... 37Introduo .......................................................................................................................................................... 37Forma Bsica do Comando SELECT ................................................................................................................... 37Restringindo a Consulta ..................................................................................................................................... 38O Uso de All Versus Distinct ou Unique ............................................................................................................ 38Operadores de Comparao ............................................................................................................................... 39Usando And e Or ................................................................................................................................................ 39Mudando a Precedncia das Operaes ............................................................................................................. 39Operadores Aritmticos e de Concatenao ...................................................................................................... 40Selecionando um Intervalo de Valores Between ............................................................................................. 40Selecionando uma Lista de Valores In ............................................................................................................. 41Pesquisando o Contedo de um Texto Like .................................................................................................... 41Pesquisando um Valor Desconhecido Is Null ................................................................................................. 42Consultando Dados de uma Tabela Particionada .............................................................................................. 42Exerccios ............................................................................................................................................................ 43Fundamentos em: Atualizao da Base de Dados .............................................................................. 43Incluindo Novas Linhas Insert Bsico ............................................................................................................. 44Retornando Informaes dos Dados Includos .................................................................................................. 46Alterando Linhas Existentes Update Bsico .................................................................................................... 46Retornando Informaes dos Dados Alterados .................................................................................................. 48Excluindo Linhas da Base de Dados Delete Bsico ......................................................................................... 48Retornando Informaes dos Dados Excludos ................................................................................................. 49Exerccios ............................................................................................................................................................ 49Fundamentos em: Ordenao e Subconsulta ..................................................................................... 50Usando Apelidos ................................................................................................................................................ 50Obtendo os Resultados em uma Ordem Especfica ........................................................................................... 51Usando Subquery Para Restringir o Resultado ................................................................................................... 52Exerccios ............................................................................................................................................................ 53Fundamentos em: Grupamentos ......................................................................................................... 53Funes de Grupo ou de Agregao ................................................................................................................... 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 ............................................................................................................................................................... 60VIII00CURSO COMPLETOPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 10. SUMRIO 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 ......................................................................................................................................................... 63Grupando as Linhas Selecionadas ...................................................................................................................... 63 Regra .............................................................................................................................................................. 64A Clusula Having .............................................................................................................................................. 64As Expresses Rollup e Cube .............................................................................................................................. 65 Rollup ............................................................................................................................................................. 65 Cube ............................................................................................................................................................... 66 Identificando as Linhas com as Funes Group ............................................................................................ 67Exerccios ............................................................................................................................................................ 68Fundamentos em: Modificao do Resultado com Funes ............................................................. 69Introduo .......................................................................................................................................................... 69Numricas 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 ................................................................................................................................................ 72Trigonomtricas ................................................................................................................................................. 73 Acos ................................................................................................................................................................ 73 Asin ................................................................................................................................................................ 74 Atan ................................................................................................................................................................ 74 Atan2 .............................................................................................................................................................. 74 Cos ................................................................................................................................................................. 74 Cosh ............................................................................................................................................................... 74 Sin .................................................................................................................................................................. 75 Sinh ................................................................................................................................................................ 75 Tan ................................................................................................................................................................. 75 Tanh ............................................................................................................................................................... 75Alfanumricas ..................................................................................................................................................... 75 CURSO COMPLETO00IXPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 11. 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 ............................................................................................................................................................. 80Alfanumricas que Retornam Valores Numricos ............................................................................................. 80 Ascii ................................................................................................................................................................ 81 Instr ................................................................................................................................................................ 81 Instrb, Instrc, Instr2, Instr4 ........................................................................................................................... 81 Length ............................................................................................................................................................ 82 Lengthb, Lengthc, Length2, Length4 ............................................................................................................ 82Datas ................................................................................................................................................................... 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 ........................................................................................................................................................ 87Converso ........................................................................................................................................................... 87 AsciiStr ........................................................................................................................................................... 89 Bin_To_Num .................................................................................................................................................. 89 Cast ................................................................................................................................................................ 89 CharToRowid ................................................................................................................................................. 89 Compose ........................................................................................................................................................ 89 Convert .......................................................................................................................................................... 89 Decompose .................................................................................................................................................... 90 HexToRaw ...................................................................................................................................................... 90X 00CURSO COMPLETOPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 12. SUMRIO 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 ............................................................................................................................................................. 96Outras ................................................................................................................................................................. 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 ............................................................................................................................................................. 103Exerccios .......................................................................................................................................................... 104Fundamentos em: Funes Analticas ............................................................................................... 104Introduo ........................................................................................................................................................ 105Funes Somente Analticas ............................................................................................................................. 105CURSO COMPLETO00XIPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 13. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO First_Value .................................................................................................................................................... 107 Lag ................................................................................................................................................................ 107 Last_Value .................................................................................................................................................... 108 Lead .............................................................................................................................................................. 108 Ntile ............................................................................................................................................................. 109 Ratio_to_Report ........................................................................................................................................... 109 Row_Number ............................................................................................................................................... 110Funes de Agregao com uso Analtico ........................................................................................................ 110Exerccios .......................................................................................................................................................... 113Fundamentos em: Reviso das Operaes Relacionais .................................................................... 113Introduo ........................................................................................................................................................ 113Seleo ou Restrio ......................................................................................................................................... 113Projeo ............................................................................................................................................................ 114Unio ................................................................................................................................................................ 114Interseo ......................................................................................................................................................... 116Diferena .......................................................................................................................................................... 116Produto Cartesiano .......................................................................................................................................... 117Juno ou Join .................................................................................................................................................. 117Diviso .............................................................................................................................................................. 119Exerccios .......................................................................................................................................................... 120Fundamentos em: Detalhamento do SQL*Plus ................................................................................ 120Comandos de Formatao ............................................................................................................................... 120 Column ........................................................................................................................................................ 120 RepHeader / RepFooter ................................................................................................................................ 123 Ttitle / Btitle ................................................................................................................................................. 124 Break ............................................................................................................................................................ 125 Compute ...................................................................................................................................................... 127 Clear ............................................................................................................................................................. 128 Spool ............................................................................................................................................................ 129 Show ............................................................................................................................................................ 130Comandos Para Controle de Variveis de Usurio .......................................................................................... 131 Define ........................................................................................................................................................... 131 Undefine ...................................................................................................................................................... 131 Variable ........................................................................................................................................................ 132 Print ............................................................................................................................................................. 133Comandos Para Comunicao com o Usurio ................................................................................................ 133 Accept .......................................................................................................................................................... 133 Prompt ......................................................................................................................................................... 133 Pause ............................................................................................................................................................ 134Modificando Variveis de Sistema ................................................................................................................... 134 Set ................................................................................................................................................................. 134 Store ............................................................................................................................................................. 139Comandos Diversos ......................................................................................................................................... 139 Connect / Disconnect .................................................................................................................................. 139 Password, Execute, Host e Remark .............................................................................................................. 140 Copy ............................................................................................................................................................. 140 Timing .......................................................................................................................................................... 140 Whenever Oserror / Sqlerror ....................................................................................................................... 140 Attribute ....................................................................................................................................................... 141 Help .............................................................................................................................................................. 141Acionando o SQL*Plus em Batch ..................................................................................................................... 141O Menu do SQL*Plus ........................................................................................................................................ 143 Arquivo ........................................................................................................................................................ 143XII 00CURSO COMPLETOPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 14. SUMRIO Editar ............................................................................................................................................................ 143 Procurar ........................................................................................................................................................ 143 Opes ......................................................................................................................................................... 143 Ajuda ............................................................................................................................................................ 143Exerccios .......................................................................................................................................................... 143Fundamentos em: Consultas Complexas .......................................................................................... 145Outer Join ......................................................................................................................................................... 145Exists ................................................................................................................................................................. 147Hierarquia ......................................................................................................................................................... 147Subselects Correlacionados .............................................................................................................................. 150Views Relacionais ............................................................................................................................................. 151Uso de Subquery na Clusula From ................................................................................................................. 153 Em Selects .................................................................................................................................................... 153 Em Updates .................................................................................................................................................. 154 Em Inserts .................................................................................................................................................... 155 Em Deletes ................................................................................................................................................... 155O Comando Merge ........................................................................................................................................... 155Incluso Simultnea em Diversas Tabelas ........................................................................................................ 156Usos Incomuns do Comando Select ................................................................................................................ 157Uso de Case no Select ....................................................................................................................................... 158Exerccios .......................................................................................................................................................... 158Fundamentos em: O Dicionrio de Dados do Oracle ....................................................................... 159Introduo ........................................................................................................................................................ 159User_Objects ..................................................................................................................................................... 160User_Tables ....................................................................................................................................................... 161User_Tab_Columns .......................................................................................................................................... 161User_Tab_Partitions .......................................................................................................................................... 162User_Indexes .................................................................................................................................................... 162User_Ind_Columns ........................................................................................................................................... 163User_Ind_Partitions .......................................................................................................................................... 163User_Constraints .............................................................................................................................................. 164User_Cons_Columns ........................................................................................................................................ 164User_Sequences ................................................................................................................................................ 164User_Synonyms ................................................................................................................................................ 164User_Users ........................................................................................................................................................ 165User_Views ....................................................................................................................................................... 165User_Updatable_Columns ................................................................................................................................ 165User_Types ........................................................................................................................................................ 166User_Type_Attrs ................................................................................................................................................ 166User_Type_Methods ......................................................................................................................................... 166User_Nested_Tables .......................................................................................................................................... 167User_Object_Tables .......................................................................................................................................... 167User_Lobs ......................................................................................................................................................... 167User_Method_Params ....................................................................................................................................... 168User_Method_Results ....................................................................................................................................... 168Exerccios .......................................................................................................................................................... 168Fundamentos em: Uso da Data Control Language .......................................................................... 168Comandos Para Controle da Transao ........................................................................................................... 169 Transaction .................................................................................................................................................. 169 Commit ........................................................................................................................................................ 169 Savepoint ..................................................................................................................................................... 172 Rollback ....................................................................................................................................................... 173 Read Consistency ......................................................................................................................................... 173 CURSO COMPLETO00XIIIPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 15. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETO O Segmento de Rollback .............................................................................................................................. 175 Set Transaction Read Only ........................................................................................................................... 176 Select For Update ......................................................................................................................................... 177 DeadLocks .................................................................................................................................................... 179 Set Constraint .............................................................................................................................................. 179Comandos Para Controle da Sesso ................................................................................................................. 181 Alter Session ................................................................................................................................................. 181 Set Role ......................................................................................................................................................... 183Globalization Support ...................................................................................................................................... 184 Caractersticas da Globalization Support .................................................................................................... 184 Esquema de Codificao .............................................................................................................................. 185 Unicode ........................................................................................................................................................ 185 Os Characters Sets do Oracle ....................................................................................................................... 185 Definindo os Parmetros da Globalization Support .................................................................................... 185 Alter Session ................................................................................................................................................. 186 Variveis de Ambiente ................................................................................................................................. 193 Os Parmetros NLS em Uso nas Funes SQL ............................................................................................. 195Exerccios .......................................................................................................................................................... 195Fundamentos em: Index Tables e Large Objects .............................................................................. 196Index Tables ..................................................................................................................................................... 196 Rowid Lgico ............................................................................................................................................... 197 Comparao Entre Rowids Lgicos e Fsicos ............................................................................................... 197 Comparando Index Table e Regular Table ................................................................................................... 197 Benefcios de uma Index-Organized Table .................................................................................................. 198Large Objects .................................................................................................................................................... 198Tipos de Lobs .................................................................................................................................................... 199Locator .............................................................................................................................................................. 199Lob Index ......................................................................................................................................................... 199Comparao Entre Lob e Longs ....................................................................................................................... 200 Caractersticas das Colunas Long e Long Raw ............................................................................................ 200 Caractersticas das Colunas Lob .................................................................................................................. 200Manipulao das Colunas Lob em SQL ........................................................................................................... 200 Incluso ........................................................................................................................................................ 200 Alterao ...................................................................................................................................................... 201 Consultas ..................................................................................................................................................... 202Exerccios .......................................................................................................................................................... 202Fundamentos em: Administrao do Banco de Dados .................................................................... 202Introduo ........................................................................................................................................................ 202Schema ............................................................................................................................................................. 203Data Definition Language ................................................................................................................................ 203Armazenamento ............................................................................................................................................... 204 Tablespace .................................................................................................................................................... 205 Bloco Oracle ................................................................................................................................................. 205 Segmentos .................................................................................................................................................... 206 Extenso ....................................................................................................................................................... 206Create Table ...................................................................................................................................................... 206 Tipos de Dados ............................................................................................................................................. 207 Constraints .................................................................................................................................................. 209Create Type ....................................................................................................................................................... 209Create Index ..................................................................................................................................................... 210Create Database Link ....................................................................................................................................... 210Create Synonym ............................................................................................................................................... 210Create Sequence ............................................................................................................................................... 211XIV 00CURSO COMPLETOPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 16. SUMRIOCreate Role ....................................................................................................................................................... 212Create Directory ............................................................................................................................................... 213Create View ...................................................................................................................................................... 214Create User ....................................................................................................................................................... 214Alter ................................................................................................................................................... 214Drop .................................................................................................................................................. 215Truncate Table .................................................................................................................................................. 215Rename ............................................................................................................................................................. 216Grant ................................................................................................................................................................ 216 Grant Para os ............................................................................................................................... 216 Grant .................................................................................................................... 217Revoke .............................................................................................................................................................. 218 Revoke Para os ............................................................................................................................. 218 Revoke .................................................................................................................. 219Exerccios .......................................................................................................................................................... 219Resoluo dos Exerccios Propostos ................................................................................................................. 220CAPTULO 3 PL/SQL ............................................................................................................................. 249Fundamentos em: Linguagem de Programao .............................................................................. 250Introduo ........................................................................................................................................................ 250Estrutura ........................................................................................................................................................... 250Modularidade ................................................................................................................................................... 250Arquitetura ....................................................................................................................................................... 251Vantagens da PL/SQL ....................................................................................................................................... 251 Suporte Para SQL ......................................................................................................................................... 251 Suporte Para Programao Orientada a Objeto ........................................................................................... 251 Performance ................................................................................................................................................. 251 Portabilidade ................................................................................................................................................ 251 Produtividade ............................................................................................................................................... 252 Integrao com o Oracle .............................................................................................................................. 252Fundamentos em: Caractersticas da Linguagem ............................................................................ 252Identificadores .................................................................................................................................................. 252Palavras Reservadas .......................................................................................................................................... 253Literais .............................................................................................................................................................. 253 Nmero ........................................................................................................................................................ 254 Caracter ........................................................................................................................................................ 254 String ............................................................................................................................................................ 254 Boleano ........................................................................................................................................................ 254Comentrios ..................................................................................................................................................... 254Fim de Linha .................................................................................................................................................... 254Fundamentos em: Tipos de Dados ..................................................................................................... 255Escalares ............................................................................................................................................................ 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 .................................................................................................................................................... 260CURSO COMPLETO00XVPara uso pessoal. Este material no pode ser utilizado em Salas de Aula e para ministrar treinamentos. 17. ORACLE 9I PARA DESENVOLVEDORES CURSO COMPLETOBoolean ........................................................................................................................................................ 260Date .............................................................................................................................................................. 260Timestamp ................................................................................................................................................... 261Timestamp With Time Zone ........................................................................................................................ 261Timestamp With Local Time Zone .............................................................................................................. 261Interval Day to Second ................................................................................................................................ 261Interval Year to Month ................................................................................................................................ 261Lobs .................................................................................................................................................................. 262Blob .............................................................................................................................................................. 262Clob .............................................................................................................................................................. 262Nclob ............................................................................................................................................................ 262Bfile .............................................................................................................................................................. 263Compostos ....................................................................................................................................................... 263Reference .......................................................................................................................................................... 263Subtipos Definidos Pelo Usurio ...................................................................................................................... 263Converso Implcita ......................................................................................................................................... 264Fundamentos em: Declaraes .......................................................................................................... 265Introduo ........................................................................................................................................................ 265Variveis e Constantes ..................................................................................................................................... 265%Type ............................................................................................................................................................... 266Escopo e Visibilidade ........................................................................................................................................ 266Qualificao ...................................................................................................................................................... 267Restries .......................................................................................................................................................... 268Fundamentos em: Comandos B