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.