O que é uma procedure em PL/SQL?
Um bloco de código nomeado que executa uma tarefa específica e pode receber parâmetros.
Qual a estrutura básica de uma procedure?
Qual a função da cláusula IS em uma procedure?
Declarar variáveis internas que serão usadas dentro da procedure.
Como executar uma procedure?
EXECUTE nome_da_procedure(parametros); ou dentro de um bloco BEGIN nome_da_procedure(parametros); END;
Qual a vantagem de usar procedures?
Organização, reutilização de código e maior eficiência no desenvolvimento.
O que significa a cláusula IN ao declarar um parâmetro em uma procedure?
Indica que o parâmetro é um valor de entrada para a procedure.
Onde as procedures criadas ficam armazenadas no banco de dados Oracle?
Na pasta “Procedures” dentro da lista de objetos do banco de dados.
É obrigatório declarar variáveis internas dentro de uma procedure?
Não, a declaração de variáveis internas é opcional. Só é necessária se a procedure precisar de variáveis que não são passadas como parâmetros.
O que deve ser incluído no espaço entre o IS e o BEGIN, na criação de uma procedure?
A declaração de todas as variáveis que serão executadas no programa.
Qual a função do comando CREATE OR REPLACE em PL/SQL ao criar uma procedure?
Permite alterar uma procedure existente ou criar uma nova se ela não existir, evitando erros caso a procedure já exista no banco de dados.
Por que é recomendado usar CREATE OR REPLACE ao criar procedures?
Para garantir que a procedure seja sempre criada ou alterada, simplificando o processo de atualização e evitando erros de “objeto já existente”.
Qual a diferença entre CREATE e CREATE OR REPLACE ao criar uma procedure que já existe?
CREATE gera um erro se a procedure já existe, enquanto CREATE OR REPLACE substitui a procedure existente pela nova definição.
O que acontece se você usar CREATE OR REPLACE para criar uma procedure com o mesmo nome de uma já existente?
A procedure existente é substituída pela nova definição, mantendo o mesmo nome e atualizando sua lógica.
Construa as seguintes procedures:
INCLUINDO_PRODUTO - Inclui um produto novo, passando como parâmetros todos os campos para inclusão de um produto na tabela. (codigo, descrição e categoria)
Construa as seguintes procedure
ALTERANDO_CATEGORIA_PRODUTO - Altera apenas a categoria do produto, dado um código.
Construa as seguintes procedure
EXCLUINDO_PRODUTO - Exclui um produto, passando como parâmetro o seu código.
Qual a finalidade do comando SET SERVEROUTPUT ON;?
Habilitar a exibição de mensagens de saída (output) no SQL Developer, permitindo visualizar resultados de dbms_output.put_line.
O que o comando dbms_output.put_line(v_DESCRICAO); faz?
Exibe o valor contido na variável v_DESCRICAO na janela de saída do SQL Developer.
Explique o fluxo geral do script.
O script define o output do servidor, declara variáveis para o ID e a descrição do segmento, consulta a descrição do segmento com base no ID fornecido e exibe a descrição na tela.
Qual o erro comum ao usar SELECT INTO em PL/SQL?
Tentar associar um resultado de SELECT que retorna múltiplas linhas ou colunas a uma variável que espera um único valor.
O que acontece se um SELECT com múltiplas linhas for atribuído a uma variável com INTO?
Ocorre um erro ORA-01422: a extração exata retorna mais do que o número solicitado de linhas.
Como resolver o problema de selecionar múltiplos valores (colunas) para variáveis diferentes?
Utilizar múltiplos comandos SELECT, cada um atribuindo um valor a uma variável específica.
Qual a recomendação ao usar SELECT INTO com variáveis em PL/SQL?
Sempre garantir que o SELECT retorne um único valor (uma célula) para ser associado à variável.
Temos a tabela PRODUTO_VENDA_EXERCICIO, que ainda não teve dados incluídos nela.
Faça uma procedure, chamada INCLUINDO_DADOS_VENDA, para incluir linhas nesta tabela. Os parâmetros, por enquanto, serão todos os campos da tabela.
(ID, COD PRODUTO, DATA, QUANTIDADE, PRECO, VALOR, IMPOSTO)