Treinamento Oracle Forms

12,631 views

Published on

Noções básicas sobre o Banco de Dados Oracle, SQL *Plus, Linguagem SQL, PL/SQL e Forms Oracle

Published in: Technology
14 Comments
24 Likes
Statistics
Notes
No Downloads
Views
Total views
12,631
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
0
Comments
14
Likes
24
Embeds 0
No embeds

No notes for slide

Treinamento Oracle Forms

  1. 1.
  2. 2.
  3. 3. Modelo de Estudo<br />
  4. 4. Ferramenta SQL *PLUS<br />Digitar, editar, armazenar e executar comandos SQL e blocos PL/SQL; Formatar, executar cálculos, armazenar e imprimir resultados de Querys.<br />
  5. 5. Interação Banco de Dados<br />
  6. 6. Conectando ao Banco de Dados<br />
  7. 7. Primeira Consulta<br />
  8. 8. A Linguagem SQL<br />
  9. 9. Linguagem SQL é dividida em...<br />
  10. 10.
  11. 11.
  12. 12. PL/SQL Oracle<br />
  13. 13. O que é PL/SQL?<br />
  14. 14. Estrutura dos blocos...<br />
  15. 15. Como fica?<br />DECLARE<br />...<br />BEGIN<br />...<br />EXCEPTION<br />...<br />END;<br />
  16. 16. Tipos de blocos...<br />Blocos Nomeados<br />
  17. 17. Usando variáveis...<br />
  18. 18. Comandos SQL no PL/SQL...<br />
  19. 19. Cursor SQL (implícitos)...<br />É uma área privada para o SQL<br />
  20. 20. Estrutura de Controle...<br />
  21. 21. Controle de repetição...<br />
  22. 22. Cursores explícitos...<br />Cursores devem ser declarados explicitamente sempre que uma query retornar mais de uma linha, para que elas possam ser tratadas individualmente.<br />
  23. 23. Passos para utilizar cursores...<br />
  24. 24. Exemplo...<br />
  25. 25. Atributos desses cursores...<br />
  26. 26. Usando o FOR no cursor...<br />
  27. 27. Cursores com parâmetros...<br />
  28. 28. Blocos PL/SQL Declarados<br />As procedures, funções e triggers são exemplos de Blocos PL/SQL que são declarados e ficam armazenados dentro do banco de dados Oracle.<br />Esses objetos de banco de dados podem ser executados diretamente pela aplicação (Forms, Reports) ou então no banco de dados mesmo.<br />
  29. 29. Sintaxe da Procedure...<br />create [orreplace] procedurenome_procedure [(parâmetros, ...)] is<br /> ...<br />Begin<br /> ...<br />End;<br />
  30. 30. Procedure...<br />createorreplaceprocedureprc_novo_periodo<br />( p_cod_periodo in number,<br />p_dat_inicial in date,<br />p_dat_final in date) is<br />Begin<br />insertintoperiodo_letivo( cod_periodo, <br />dat_inicial, dat_final ) <br />values( p_cod_periodo, p_dat_inicial,<br />p_dat_final);<br />commit ;<br />End;<br />
  31. 31. Sintaxe Functions...<br />create [orreplace] functionnome_função [(parametros, ...)] returntipo_retorno { is | as }<br /> ...<br />Begin<br /> ...<br />End ;<br />
  32. 32. Functions...<br />createorreplacefunctionfun_media_aluno(p_cod_alunonumber)<br />returnnumber is<br />v_medianumber := 0 ;<br />Begin<br />selectavg(val_nota_final)<br />intov_media<br />from matricula<br />wherecod_aluno = p_cod_aluno ;<br />return( v_media ) ;<br />End ;<br />
  33. 33. Trigger...<br />As triggers podem ser utilizadas para:<br />Prevenir transações inválidas;<br />Forçar regras de negócios complexas;<br />Derivar valores de colunas específicas.<br />
  34. 34. Antes de codificá-la...<br />
  35. 35. OLD e NEW...<br />
  36. 36. Sintaxe da trigger...<br />create [orreplace] triggernome_trigger<br />[before | after]<br />[delete | insert | update [of coluna] ]<br />onnome_tabela<br />[for eachrow] [when condição]<br />bloco PL/SQL;<br />
  37. 37. Trigger...<br />createorreplacetriggertrg_seguranca_aluno<br />Beforeinserton aluno<br />Begin<br />if (to_cha( sysdate, ‘DY’ ) in (‘SAT’, ‘SUN’) ) or<br /> ( to_number( to_char( sysdate, ‘HH24’ ) ) notbetween 8 and 18) then<br />raise_application_error( -20001, ‘Você só pode inserir um aluno no horário comercial’ ) ;<br />endif ;<br />End;<br />
  38. 38. Trigger...<br />createorreplacetriggertrg_curso_chk<br />Beforeupdateofcarga_horaria<br />On curso for eachrow<br />Begin<br />ifnvl( :new.carga_horaria,0) < nvl( :old.carga_horaria, 0 ) then<br />raise_application_error( -20003, ‘A carga horaria não pode ser diminuida’ );<br />endif ;<br /> :new.carga_horaria_ant := :old.carga_horaria ;<br />End;<br />
  39. 39. Forms Oracle<br />
  40. 40. O que tem?<br />
  41. 41. Hierarquia visual...<br />
  42. 42. O Forms Oracle...<br />
  43. 43. O que mais importa...<br />
  44. 44. Triggers (gatilhos)...<br />Nível?<br />}<br />Quando?<br />PL/SQL<br />
  45. 45. Eventos de Trigger mais utilizados...<br />WHEN-VALIDATE-ITEM<br />Executa o script definido ao sair do campo<br />KEY-NEXT-ITEM<br />Comando executado ao efetuar os comandos de TAB ou ENTER<br />WHEN-BUTTON-PRESSED<br />Comando executado ao clicar no botão<br />
  46. 46. Eventos de Trigger mais utilizados...<br />PRE-INSERT e POST-INSERT<br />Executados antes e depois de inserir, respectivamente<br />POST-QUERY<br />Executado após buscar um registro da tabela (Funciona apenas para blocos base-table)<br />WHEN-NEW-BLOCK-INSTANCE<br />Quando um novo bloco é acessado<br />
  47. 47. Eventos de Trigger mais utilizados...<br />WHEN-NEW-FORM-INSTANCE<br />Ao carregar o novo programa<br />ON-ERROR<br />Quando ocorre algum erro<br />ON-MESSAGE<br />Quando o Oracle dispara alguma mensagem<br />
  48. 48.
  49. 49. Oracle Forms<br />Felipe Goulart<br />flpgoulart@gmail.com | http://br.linkedin.com/in/goulart<br />twitter.com/flpgoulart<br />flpgoulart@gmail.com<br />flpgoulart@gmail.com<br />

×