Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

2
respostas

Dúvida executar bloco e query

Por que ao executar o código abaixo gera um erro? Executando separadamente ele consegue fazer o que eu quero, mas fiquei curioso em entender o porquê dele não conseguir executar de uma vez.

DECLARE
    v_id segmercado.id%type := 3;
BEGIN
    DELETE FROM SEGMERCADO
        WHERE id = v_id;
    COMMIT;
END;

SELECT * FROM segmercado;

SELECT * FROM segmercado;

Relatório de erros -

ORA-06550: linha 9, coluna 1:

PLS-00103: Encontrado o símbolo "SELECT"

  1. 00000 - "line %s, column %s:\n%s"

*Cause: Usually a PL/SQL compilation error.

*Action:

Obrigado desde já :)

2 respostas

se voce colocar o select dentro da transacao funciona?

Tenta executar assim:

DECLARE
    v_id segmercado.id%type := 3;
BEGIN
    DELETE FROM SEGMERCADO
        WHERE id = v_id;
    COMMIT;
END;
/

SELECT * FROM segmercado;

Se não me engano para encerrar o bloco é necessário a barra no final.