首頁 > 資料庫 > mysql教程 > 如何複製預存程序和函數內發生的操作?

如何複製預存程序和函數內發生的操作?

PHPz
發布: 2023-09-07 11:57:02
轉載
1490 人瀏覽過

如何複製預存程序和函數內發生的操作?

實際上,在預存程序和函數中執行的標準操作會從主 MySQL 伺服器複製到從 MySQL 伺服器。即使在主 MySQL 伺服器上透過普通 DDL 語句執行的預存程序和函數的建立也會複製到從 MySQL 伺服器上。這樣,物件將同時存在於兩台伺服器上。

預存程序和函數內部發生的操作會被複製,因為 MySQL 會記錄在預存程序和函數內部發生的每個 DDL 事件。記錄事件後,會將其複製到從屬 MySQL 伺服器。但執行預存程序的實際呼叫不會被複製。以下是一個範例,其中過程 CALL 不會複製,因為它實際上是主 MySQL 伺服器上的一個。

範例

mysql> Delimiter //
mysql> CREATE PROCEDURE myproc()
    -> BEGIN
    -> DELETE FROM mytable LIMIT 1;
    -> END //
登入後複製

現在,當我們在主 MySQL 伺服器上呼叫此過程時,它將不會複製。

mysql> Delimiter ;
mysql> CALL myproc();
登入後複製

以上是如何複製預存程序和函數內發生的操作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板