文件首頁
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 參考手冊  /  ...  /  BEGIN ... END 複合陳述式

15.6.1 BEGIN ... END 複合陳述式

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

BEGIN ... END 語法用於撰寫複合陳述式,這些陳述式可以出現在儲存程式(儲存程序和函數、觸發器和事件)中。複合陳述式可以包含多個陳述式,以 BEGINEND 關鍵字括起來。statement_list 代表一個或多個陳述式的列表,每個陳述式都以分號 (;) 陳述式分隔符號終止。statement_list 本身是可選的,因此空的複合陳述式 (BEGIN END) 是合法的。

BEGIN ... END 區塊可以巢狀使用。

使用多個陳述式要求用戶端能夠傳送包含 ; 陳述式分隔符號的陳述式字串。在 mysql 命令列用戶端中,這是使用 delimiter 命令處理的。變更 ; 陳述式結尾分隔符號 (例如,變更為 //) 允許在程式主體中使用 ;。如需範例,請參閱第 27.1 節,「定義儲存程式」

BEGIN ... END 區塊可以加上標籤。請參閱第 15.6.2 節,「陳述式標籤」

不支援可選的 [NOT] ATOMIC 子句。這表示在指令區塊的開頭未設定任何交易儲存點,且在此內容中使用的 BEGIN 子句對目前的交易沒有影響。

注意

在所有儲存程式中,剖析器將 BEGIN [WORK] 視為 BEGIN ... END 區塊的開頭。若要在此內容中開始交易,請改用 START TRANSACTION