基本上我有更新我們的整個系統停止使用某個表的不愉快的立場,而是使用另一個表。我已經完成了我們所有的代碼,現在我需要爲我們的所有函數和過程執行此操作。MySQL:有沒有辦法返回代碼中找到的字符串過濾的函數/過程列表?
我知道我可以這樣在數據庫中得到的功能/程序的列表:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES
我也知道,我可以看看代碼的單個功能/程序這樣:
SHOW CREATE FUNCTION function_name
SHOW CREATE PROCEDURE procedure_name
但是,我不想逐個查看每個函數和過程,因爲我們有超過200個函數和過程。
我想知道是否有類似的東西...
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE code_column_name LIKE '%search_string%'
似乎有不被在包含代碼INFORMATION_SCHEMA.ROUTINES任何列,但是......是有辦法也許在不同的桌子上做這個?
嗯,這似乎並沒有得到所有的人。 SELECT * FROM mysql.proc WHERE body LIKE'%search_string%'返回更多,所以也許這會工作?我不確定它是否能夠獲得所有這些,但是不確定body和body_utf8之間的區別是什麼? –
在body和body_utf8上做「或」可以獲得與僅僅身體相同數量的結果。我在想可能是身體呢? –
你的默認字符集是什麼? SELECT count(*),sum(body = body_utf8)FROM mysql.proc'的輸出是什麼? –