文件首頁
MySQL 9.0 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 40.0Mb
PDF (A4) - 40.1Mb
Man Pages (TGZ) - 258.2Kb
Man Pages (Zip) - 365.3Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 9.0 參考手冊  /  ...  /  陳述式標籤

15.6.2 陳述式標籤

[begin_label:] BEGIN
    [statement_list]
END [end_label]

[begin_label:] LOOP
    statement_list
END LOOP [end_label]

[begin_label:] REPEAT
    statement_list
UNTIL search_condition
END REPEAT [end_label]

[begin_label:] WHILE search_condition DO
    statement_list
END WHILE [end_label]

標籤允許用於 BEGIN ... END 區塊,以及 LOOPREPEATWHILE 陳述式。這些陳述式標籤的使用遵循以下規則:

  • begin_label 必須後接冒號。

  • begin_label 可以不指定 end_label。如果存在 end_label,則它必須與 begin_label 相同。

  • 不能在沒有 begin_label 的情況下指定 end_label

  • 相同巢狀層級的標籤必須是不同的。

  • 標籤最多可達 16 個字元長。

若要在已標記的結構中參照標籤,請使用 ITERATELEAVE 陳述式。以下範例使用這些陳述式來繼續迭代或終止迴圈:

CREATE PROCEDURE doiterate(p1 INT)
BEGIN
  label1: LOOP
    SET p1 = p1 + 1;
    IF p1 < 10 THEN ITERATE label1; END IF;
    LEAVE label1;
  END LOOP label1;
END;

區塊標籤的範圍不包含在區塊內宣告之處理常式的程式碼。詳細資訊,請參閱第 15.6.7.2 節,「DECLARE ... HANDLER 陳述式」