MySQL 5.1版本中,mysql.proc是一個非常重要的系統表,用于存儲存儲過程和函數的元數據信息。
在mysql.proc表中,主要包含以下字段:
Field | Type | Null | Key | Default | Extra | -------------------------------------------------------------- db | char(64) | NO | PRI | | | name | char(64) | NO | PRI | | | type | enum(...) | NO | PRI | | | specific_name | char(64) | NO | | | | language | enum(...) | NO | | SQL | | ...
其中,db、name和type三個字段聯合構成了主鍵。對于存儲過程和函數的元數據信息,包括了存儲過程/函數所在的數據庫名和名稱(db, name),以及它們是存儲過程還是函數(type)等信息。
通過mysql.proc表,我們可以方便地查詢指定存儲過程/函數的元數據信息,以及對存儲過程/函數進行管理和修改等操作。
-- 查詢所有存儲過程/函數 SELECT * FROM mysql.proc WHERE db = 'database_name'; -- 修改存儲過程/函數定義 UPDATE mysql.proc SET body = 'New definition' WHERE db = 'database_name' AND name = 'procedure_name' AND type = 'PROCEDURE';
需要注意的是,mysql.proc表的操作權限需要有特殊的授權才能夠進行修改和刪除等操作,一般情況下只能查詢。