Buscar

Aula de BD Linguagem Procedural 3

Prévia do material em texto

Linguagem de Programação Procedural
Prof. Ildo Ramos Vieira
Graduado em ciências de computação – UFC
Especialista em Segurança de Informação - IGTI
Mestre em ciências de computação - UFC
Doutorando em Engenharia de Teleinformática - UFC
AULA PASSADA
Captura de Erros
Captura de Erros
PL/PGSQL
Cursor:
● Áreas de memória utilizadas pelo PostgreSQL para 
armazenar registros enquanto eles são 
processados.
● Usados para percorrer as relacões e processar 
conjuntos de dados.
● Postgres: Tipo refcursor
PL/PGSQL
Declaração de Cursor:
PL/PGSQL
Abrir cursor:
OPEN FOR SELECT
OPEN FOR EXECUTE
PL/PGSQL
➔ FETCH Cursor:
◆ Navegar no cursor.
Uso do cursor
1. Declarar ( declare ) 
2. Abrir ( open )
3. Navegar/ Atribuir os valores ( fetch )
4. Fechar ( close )
* Postgres: invocação de função com cursor deve 
ocorrer dentro de transação
Abrir cursor para SELECT
❏ Cursor sem limite ( cursor refcursor )
❏ Consulta sem apóstrofo
Abrir cursor para SELECT
FETCH Cursor
Abrir cursor IS SELECT
Abrir cursor para SELECT
Abrir cursor para SELECT
Abrir cursor para EXECUTE
➢ Cursor sem limite
➢ Palavra reservada EXECUTE
➢ EXECUTE pede string ( usar apóstrofo )
➢ Situações de SQL dinâmico ( passagem dos 
parâmetros como tabela , comando )
➢ Pode-se usar uma variável que armazena o texto 
de um comando/cláusula SQL
Abrir cursor para EXECUTE
Abrir cursor para EXECUTE
Abrir cursor para EXECUTE
Retornando uma Tabela
Retornando uma Tabela
Exercício
➢ Crie uma Function que:
○ Recebe como parâmetro:
■ O pid de um projeto (varchar)
■ Um determinado número de horas (integer)
➢ Para cada empregado (tupla) existente na tabela Empregado:
○ Insere uma nova tupla na tabela Tarefa, usando como valores o 
cpf do empregado e os dois parâmetros de entrada (pid do 
projeto e número de horas);
Exercício
Exercício
Exercício
Exercício

Mais conteúdos dessa disciplina