MySQL存儲過程是一個可重用的代碼塊,在數據庫中以預編譯的格式存儲,以達到提高執行效率的目的。在實際應用過程中,有時候我們需要獲取當前執行的SQL語句,以便進行一些相關操作。
首先,我們需要使用MySQL內置變量來獲取當前執行的SQL語句。
DECLARE cur_sql TEXT; SET cur_sql = (SELECT info FROM INFORMATION_SCHEMA.PROCESSLIST WHERE ID = CONNECTION_ID());
使用上述代碼,我們定義了一個cur_sql變量,通過查詢INFORMATION_SCHEMA.PROCESSLIST表中當前連接ID對應的信息,獲取當前執行的SQL語句。
接著,我們可以在存儲過程中進行相關操作,比如打印當前執行的SQL語句:
SELECT CONCAT('當前執行的SQL語句為:', cur_sql);
使用上述代碼,我們可以打印出當前執行的SQL語句,以便進行調試或者其他相關操作。
總之,通過MySQL存儲過程獲取當前執行的SQL語句是一項非常有用的操作,可以幫助我們更好地了解數據庫的實際運行情況。