POTHIEDU Não Decore a Resposta. Entenda o Caminho

Conforme O Der Abaixo Responda Faça Um Bloco Pl Sql

Conforme O Der Abaixo Responda Faça Um Bloco Pl Sql

Como criar um bloco PL/SQL funcional

PL/SQL é a extensão procedural do SQL padrão do Oracle. Se você precisa fazer validações, loops ou condições que o SQL puro não suporta nativamente, esse é o caminho. O bloco básico tem estrutura fixa: declaração, executável e tratamento de exceções. Na prática, eu costumo começar assim quando preciso resolver algo no banco: Mais completo, com variáveis e tratamento:

O problema que encontro com mais frequência é SET SERVEROUTPUT ON antes de executar. Sem isso, o DBMS_OUTPUT.PUT_LINE simplesmente não mostra nada e você passa 20 minutos achando que o código está errado. Outro detalhe importante: variáveis VARCHAR2 em PL/SQL têm limite de 32767 bytes. Se você estiver trabalhando com CLOB ou textos longos, use DBMS_LOB ou trate como BLOB diretamente na consulta. A estrutura DECLARE-OPTIONAL é útil, mas cuidado: se declarar variáveis depois do BEGIN, o compilador dá erro. A ordem importa.

Para blocos maiores, prefira procedimentos armazenados a blocos anônimos. Facilita manutenção e reuso:

Conforme o DER abaixo, responda: Faça um bloco pl/sql para incluir ...
Conforme o DER abaixo, responda: Faça um bloco pl/sql para incluir ...
CREATE OR REPLACE PROCEDURE sp_busca_cliente(p_id IN NUMBER, p_nome OUT VARCHAR2) AS
BEGIN
  SELECT nome INTO p_nome
  FROM clientes
  WHERE id = p_id;
EXCEPTION
  WHEN NO_DATA_FOUND THEN
    p_nome := NULL;
END;
/

Execute com:

VARIABLE v_nome VARCHAR2(100);
EXEC sp_busca_cliente(100, :v_nome);
PRINT v_nome;

Essa abordagem é mais previsível que variáveis globais ou tables temporárias para troca de dados entre sessões.