Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
Apostila completa-oracle-programando-oracle
Next
Download to read offline and view in fullscreen.

Share

PL/SQL - Conceitos Básicos

Download to read offline

O PL/SQL é uma linguagem de acesso a dados relacionais para o SGBD da Oacle.
Elá fornece um conjunto de funções que facilitam a vida do desenvolvedor no momento da criação dos programas, além do que, por ser executada dentro do SGBD não é necessário que movimentar os dados entre aplicação de banco de dados, tornando a execução bem mais rápida.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

PL/SQL - Conceitos Básicos

  1. 1. PL/SQL Danilo Braga ICC – Software II Instituto Nacional deTelecomincações - INATEL http://migre.me/dESmd
  2. 2. http://migre.me/dCTlu Antes de começarmos a falar de PL/SQL ... ...Temos que falar de SQL
  3. 3. SQL (Structured Query Language) Linguagem declarativa Projetada para trabalhar com BD Relacionais Criada no início da década de 70 SQL ANSI Padronização da linguagem pela American National Standards Institute (ANSI) em 1986 8 Revisões SQL-86, SQL-89, SQL-92, SQL-1999, SQL-2003, SQL-2006, SQL-2008, SQL-2011 Pequeno Histórico
  4. 4. http://migre.me/dCWHf Agora sim é sobre PL/SQL
  5. 5. Desenvolvida pela Oracle no início dos anos 90 para melhorar as capacidades do SQL Adiciona ao SQL características de linguagens de procedurais Procedural Language/Structured Query Language (PL/SQL) É uma extensão da linguagem SQL PL/SQL
  6. 6. Não é um produto separado É uma tecnologia integrada ao SGDB Oracle É possível trabalhar de forma tanto declarativa (SQL) quanto de forma procedural (PL/SQL) PL/SQL
  7. 7. PL/SQL Suporta conceito de packages Agrupamento de funções relacionadas Provê um mecanismo de captura e tratamento de erros
  8. 8. Aplicações para a manipulação grandes volumes de dados Tabelas com milhões ou bilhões de registros Purge (limpeza) Backup Rotinas de atualização/exclusão em massa Reports/BI Para que eu preciso disso ?
  9. 9. Por ser executado dentro do Oracle Dados não precisam entrar/sair do SGBD Não há sobrecarga de tráfego pela rede Não são necessárias API's intermediárias para acesso a dados ODBC ou JDBC, etc ExistemVantagens ?
  10. 10. http://migre.me/dCX9T Mostra como isso funciona logo!! Chega dessa teoria chata...
  11. 11. DECLARE(OPTIONAL) variable_declarations BEGIN program_code EXCEPTION(OPTIONAL) exception_handlers END; declarar variáveis, constantes, registros e cursores Lógica do programa, como loops, instruções condicionais e SQLs Utilizada para tratar os erros gerados durante a execução Anatomia de uma aplicação
  12. 12. Funções Embutidas Repetição Condicionais Estruturas da linguagem
  13. 13. Condicionais IF-THEN Statement IF condition THEN statements END IF; IF-THEN-ELSIF Statement IF condition1 THEN statement1 ELSIF condition2 THEN statement2 ELSE statement3 END IF; CASE Statement CASE type WHEN 'A' THEN statement1; WHEN 'B' THEN statement2 ELSE statementElse; END CASE;
  14. 14. Repetição LOOP LOOP statements END LOOP; EXIT LOOP ... IF num < 5THEN EXIT; END IF; END LOOP; EXIT WHEN LOOP ... EXIT WHEN num < 5; END LOOP;
  15. 15. Repetição WHILE-LOOP WHILE total < 25 LOOP … total := total + inc. END LOOP; FOR-LOOP FOR counter IN [REVERSE] m..n LOOP statements; END LOOP; FOR-LOOP FOR i IN reverse 1..3 LOOP dbms_output.put_line(i); END LOOP; Resultado: 3 2 1
  16. 16. Repetição FOR row IN (SELECT * FROM empregado) LOOP dbms_output.put_line(row.nome); END LOOP; FOR row IN (SELECT * FROM empregado) LOOP EXIT WHEN UPPER(row.nome) LIKE 'MARIA%'; END LOOP;
  17. 17. Evita a necessidade de reescrita de código Todas as funções já foram testadas pela ORACLE Fornecem mais usabilidade ao PL/SQL Grande variedade de funções Funções Embuitdas
  18. 18. Funções Embutidas Character / String Functions: Ascii Convert Lower Soundex AsciiStr Decompose Lpad Substr Chr Dump Ltrim Translate Compose Initcap Replace Trim Concat Instr Rpad Upper || Length Rtrim VSize || ‘A’||‘B’||‘C’||‘D’ -- ABCD
  19. 19. Advanced Functions: BFilename Group_ID NULLIF User Cardinality Lag NVL UserEnv Case Statement Lead NVL2 Coalesce LNNVL Sys_Context Decode NANVL Uid Decode decode( expression , search , resultTrue, resultFalse) SELECT decode(avaliacao , 3, ‘ÓTIMO’, 2, ‘BOM’, ‘REGULAR') FROM empregado; NVL NVL(nome, 'n/a') -- ‘n/a’ caso o nome -- seja NULL Funções Embutidas
  20. 20. Mathematical Functions: Abs Covar_pop Max Sqrt Acos Covar_samp Median StdDev Asin Count Min Sum Atan Cume_Dist Mod Tan Atan2 Dense_Rank Power Tanh Avg Exp Rank Trunc (numbers) Bin_To_Num Extract Remainder Trunc (dates) BitAnd Floor Round (numbers) Var_pop Ceil Greatest Round (dates) Var_samp Corr Least Sign Variance Cos Ln Sin Cosh Log Sinh Date Functions: Add_Months Last_Day Round To_Date Current_Date LocalTimestamp SessionTimeZone Current_Timestamp Months_Between Sysdate DbTimeZone New_Time SysTimestamp From_Tz Next_Day To_Char Funções Embutidas
  21. 21. Procedures Triggers Functions Códigos dentro das aplicações Java, C#, C++, ... Onde usar estas estruturas
  22. 22. Vamos “botar” a mão na massa
  23. 23. Requisitos “Equalizador salários” Os salários devem ser reajustados • 15 % para maiores 40 anos • 10 % para maiores de 35 anos • 5 % para maiores de 30 anos Se o salário ajustado for maior que a média salarial, o salário será o mesmo • A média deve desconsiderar os salários extremos(maior e menor) Todas as alterações na base devem ser “logadas”
  24. 24. Por hoje é isso !!! E SE AINDA TIVERMOS TEMPO ... PERGUNTAS ?? http://migre.me/dDb41 http://migre.me/dDbda
  25. 25. http://docs.oracle.com/cd/B10501_01/appdev.920/a96624/04_struc.htm http://www.techonthenet.com/oracle/functions/ http://www.developer.com/tech/article.php/777761/Day-1-Learning-the-Basics- of-PLSQL.htm http://imasters.com.br/artigo/1754/oracle/examinando-alguns-exemplos-pl-sql/ Quem me ajudou !
  • MirellaReis2

    Jan. 28, 2020
  • JuliaBoldrindoPrado

    Jul. 16, 2019
  • JoaquimFerreira10

    Feb. 15, 2018
  • rafaelsfaria

    Nov. 12, 2017
  • jaimedessilva

    Mar. 22, 2017
  • LuizBertoldideOliveira

    Mar. 22, 2017
  • MatheusVrasack

    Dec. 18, 2015
  • henriquemborges8

    Apr. 16, 2015
  • ThaisCamargo

    Apr. 8, 2015

O PL/SQL é uma linguagem de acesso a dados relacionais para o SGBD da Oacle. Elá fornece um conjunto de funções que facilitam a vida do desenvolvedor no momento da criação dos programas, além do que, por ser executada dentro do SGBD não é necessário que movimentar os dados entre aplicação de banco de dados, tornando a execução bem mais rápida.

Views

Total views

6,715

On Slideshare

0

From embeds

0

Number of embeds

14

Actions

Downloads

376

Shares

0

Comments

0

Likes

9

×