Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Passe o controle para uma linha específica usando o comando Goto Label em PLSQL

Um exemplo é fornecido abaixo para PLSQL Goto Label comando para instruir o controle a ir para um número de linha específico em alguma condição. Suponha que você queira passar o controle para qualquer linha específica na exceção quando no_data_found ocorrer, para conseguir isso, você deve fornecer um rótulo usando <> para isso linha específica para apontá-lo no momento do requisito. O seguinte é um bloco PL/SQL anônimo demonstrando este cenário usando <> com a instrução GoTo Label:SET SERVEROUTPUT ON;DECLARE v NUMBER;BEGIN BEGIN SELECT 1 INTO v FROM DUAL WHERE fictício ='V'; -- mude dummy ='X' para pular a seção de exceção EXCEPTION WHEN NO_DATA_FOUND THEN DBMS_OUTPUT.put_line ('NO_Data_Found ocorreu.'); GOTO mylabel; FIM; -- o código abaixo antes de <> não seria executado se ocorresse um erro acima -- porque na seção de exceção acima, ele está enviando o controle diretamente para o rótulo <> -- mas se nenhum erro ocorrer acima, todo o programa seria executado v :=v + 1; DBMS_OUTPUT.put_line ('O valor da variável v é '||v); <> DBMS_OUTPUT.put_line ('Após o início do processamento da etiqueta.');-- faça alguma tarefa aquiEND;/