Este curso prepara os formandos para desenvolver soluções em PL/SQL no ambiente Oracle, abrangendo as diversas etapas do ciclo de programação em bases de dados. Desde a criação de blocos estruturados até à implementação de componentes reutilizáveis, o curso acompanha a evolução natural do desenvolvimento com PL/SQL, integrando lógica procedimental com operações SQL.
O programa abrange desde os fundamentos da linguagem até técnicas avançadas, incluindo o uso de cursores, tratamento de exceções, criação de procedimentos, funções, pacotes e triggers.
Também são explorados temas como SQL dinâmico, tipos de dados compostos e estratégias de depuração de código. Combinando teoria e prática, o curso prepara os formandos para desenvolver soluções robustas, eficientes e alinhadas com as exigências das soluções de bases de dados atuais.
Objetivos
No final do curso os participantes deverão estar aptos a:
- Compreender a estrutura e os princípios fundamentais da linguagem PL/SQL
- Declarar e utilizar variáveis em blocos PL/SQL, aplicando os tipos de dados adequados
- Escrever blocos anónimos e identificar os seus componentes essenciais
- Integrar e executar instruções SQL dentro de blocos PL/SQL
- Controlar o fluxo de execução com estruturas condicionais e ciclos
- Utilizar tipos de dados compostos, como registos e coleções
- Trabalhar com cursores para gerir conjuntos de resultados
- Implementar mecanismos de tratamento de erros com exceções predefinidas e personalizadas
- Criar procedimentos armazenados para modularizar e reutilizar lógica de programação
- Desenvolver funções armazenadas com parâmetros e valores de retorno
- Aplicar técnicas de depuração de código
- Criar e organizar pacotes PL/SQL com especificações e corpos distintos e utilizar funcionalidades avançadas como sobrecarga e estado persistente
- Executar instruções utilizando SQL dinâmico
- Criar e gerir triggers para automatizar ações e reforçar regras de integridade
Destinatários
Este curso destina-se a profissionais que pretendam adquirir competências em Oracle PL/SQL.
É indicado particularmente para:
- Programadores de bases de dados e administradores que pretendam aprofundar as suas competências em desenvolvimento com PL/SQL.
- Desenvolvedores de aplicações que necessitem de integrar lógica PL/SQL nas suas soluções empresariais.
- Profissionais de TI responsáveis por sistemas Oracle, com interesse em automatizar processos e optimizar a lógica de negócio ao nível da base de dados.
Pré-Requisitos
- Familiaridade com os conceitos fundamentais de bases de dados relacionais
- Conhecimentos de SQL, incluindo selecção, filtragem, ordenação e manipulação de dados
- Experiência prévia com o ambiente Oracle será uma mais-valia.
- Noções básicas de lógica de programação são recomendadas, embora não obrigatórias
Programa
- Getting Started with PL/SQL
- Working with Variables in PL/SQL
- Fundamentals of PL/SQL Blocks
- Executing SQL in PL/SQL
- Control Flow in PL/SQL
- Working with Composite Data Types
- Managing Data with Cursors
- Handling Errors in PL/SQL
- Building Stored Procedures
- Developing Functions in PL/SQL
- Debugging PL/SQL Code
- Exploring PL/SQL Packages
- Advanced Package Techniques
- Using Dynamic SQL
- Implementing Triggers in PL/SQL
Getting Started with PL/SQL
- Introduction to PL/SQL
- PL/SQL Block Structure
Working with Variables in PL/SQL
- Understanding PL/SQL Variables
- Variables and Data Types
- Anchored Data Types
- Working with Bind Variables
Fundamentals of PL/SQL Blocks
- Key Concepts of PL/SQL Blocks
- Working with Sequences
- Creating and Using Nested Blocks
- Using PL/SQL Operators
Executing SQL in PL/SQL
- Introduction to executing SQL in PL/SQL
- Embedding SQL in PL/SQL Blocks
- Performing DML Operations in PL/SQL
Control Flow in PL/SQL
- Introduction to Control Flow
- Using Conditional Statements
- Controlling Execution with Loop Statements
Working with Composite Data Types
- Introduction to Composite Data Types
- Working with Records
- Working with Collections
Managing Data with Cursors
- Introduction to Cursors in PL/SQL
- Using Implicit Cursors
- Creating Explicit Cursors
- Passing Parameters to Cursors
- Managing Concurrency with Cursors
Handling Errors in PL/SQL
- Understanding Exception Handling in PL/SQL
- Predefined and Unexpected Exceptions
- Creating and Raising User-Defined Exceptions
Building Stored Procedures
- Overview of PL/SQL Subprograms
- Defining and Creating Procedures
- Working with Parameters in Procedures
- Advanced Procedure Features
Developing Functions in PL/SQL
- Introduction to PL/SQL Functions
- Using Functions in SQL Expressions
- Managing and Enhancing Functions
Debugging PL/SQL Code
- Introduction to Debugging in PL/SQL
- Using the PL/SQL Debugger
Exploring PL/SQL Packages
- Introduction to PL/SQL Packages
- Creating and Managing Packages
Advanced Package Techniques
- Overloading Subprograms in Packages
- Package Initialization and Behavior
- Maintaining Package State
Using Dynamic SQL
- Introduction to Dynamic SQL
- Using Native Dynamic SQL
- Using the DBMS_SQL Package
Implementing Triggers in PL/SQL
- Introduction to Triggers
- Creating DML Triggers
- Using Instead-Of Triggers
- Defining Compound Triggers
- Managing Triggers