Oracle goto statements

Source: Internet
Author: User

The following content is from oracle plsql user guide.

-------------------------------------------------------

I. Definition:

The Oracle PL/SQL GOTO statement is a sequential control structure available in Oracle. the GOTO statement immediately transfers program control (called "branching") unconditionally to a named statement label or block label. the statement or label name must be unique in the block.

It is a plsql control statement used for program control to jump to a specified tag. It is not easy to control and maintain. Use it with caution!


Example 2:

1. A simple GOTO statement to determine whether a number is a prime number:

DECLARE  p VARCHAR2(30);  n PLS_INTEGER := 37; -- test any integer > 2 for primeBEGIN  FOR j IN 2 .. round(sqrt(n)) LOOP    IF n MOD j = 0 THEN      -- test for prime      p := ' is not a prime number'; -- not a prime number      GOTO print_now;    END IF;  END LOOP;  p := ' is a prime number';  <<print_now>>  dbms_output.put_line(to_char(n) || p);END;/

2. Use null to avoid the following error:

DECLARE  done BOOLEAN;BEGIN  FOR i IN 1 .. 50 LOOP    IF done THEN      GOTO end_loop;    END IF;    <<end_loop>> -- not allowed unless an executable statement follows    NULL; -- add NULL statement to avoid error  END LOOP; -- raises an error without the previous NULLEND;/

3. Use goto to separate a surround block:

-- example with GOTO statementDECLARE  v_last_name VARCHAR2(25);  v_emp_id    NUMBER(6) := 120;BEGIN  <<get_name>>  SELECT last_name  INTO v_last_name  FROM employees  WHERE employee_id = v_emp_id;  BEGIN    dbms_output.put_line(v_last_name);    v_emp_id := v_emp_id + 5;    IF v_emp_id < 120 THEN      GOTO get_name; -- branch to enclosing block    END IF;  END;END;/


----------------------

Dylan presents.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.