22. Cursores explícitos... Cursores devem ser declarados explicitamente sempre que uma query retornar mais de uma linha, para que elas possam ser tratadas individualmente.
28. Blocos PL/SQL Declarados 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. Esses objetos de banco de dados podem ser executados diretamente pela aplicação (Forms, Reports) ou então no banco de dados mesmo.
29. Sintaxe da Procedure... create [orreplace] procedurenome_procedure [(parâmetros, ...)] is ... Begin ... End;
30. Procedure... createorreplaceprocedureprc_novo_periodo ( p_cod_periodo in number, p_dat_inicial in date, p_dat_final in date) is Begin insertintoperiodo_letivo( cod_periodo, dat_inicial, dat_final ) values( p_cod_periodo, p_dat_inicial, p_dat_final); commit ; End;
31. Sintaxe Functions... create [orreplace] functionnome_função [(parametros, ...)] returntipo_retorno { is | as } ... Begin ... End ;
33. Trigger... As triggers podem ser utilizadas para: Prevenir transações inválidas; Forçar regras de negócios complexas; Derivar valores de colunas específicas.
37. Trigger... createorreplacetriggertrg_seguranca_aluno Beforeinserton aluno Begin if (to_cha( sysdate, ‘DY’ ) in (‘SAT’, ‘SUN’) ) or ( to_number( to_char( sysdate, ‘HH24’ ) ) notbetween 8 and 18) then raise_application_error( -20001, ‘Você só pode inserir um aluno no horário comercial’ ) ; endif ; End;
38. Trigger... createorreplacetriggertrg_curso_chk Beforeupdateofcarga_horaria On curso for eachrow Begin ifnvl( :new.carga_horaria,0) < nvl( :old.carga_horaria, 0 ) then raise_application_error( -20003, ‘A carga horaria não pode ser diminuida’ ); endif ; :new.carga_horaria_ant := :old.carga_horaria ; End;
45. Eventos de Trigger mais utilizados... WHEN-VALIDATE-ITEM Executa o script definido ao sair do campo KEY-NEXT-ITEM Comando executado ao efetuar os comandos de TAB ou ENTER WHEN-BUTTON-PRESSED Comando executado ao clicar no botão
46. Eventos de Trigger mais utilizados... PRE-INSERT e POST-INSERT Executados antes e depois de inserir, respectivamente POST-QUERY Executado após buscar um registro da tabela (Funciona apenas para blocos base-table) WHEN-NEW-BLOCK-INSTANCE Quando um novo bloco é acessado
47. Eventos de Trigger mais utilizados... WHEN-NEW-FORM-INSTANCE Ao carregar o novo programa ON-ERROR Quando ocorre algum erro ON-MESSAGE Quando o Oracle dispara alguma mensagem
48.
49. Oracle Forms Felipe Goulart flpgoulart@gmail.com | http://br.linkedin.com/in/goulart twitter.com/flpgoulart flpgoulart@gmail.com flpgoulart@gmail.com