在開發(fā)過程中,我們會經(jīng)常使用存儲過程來完成一些特定的操作,MySQL存儲過程也是其中的一種。但是,有時候我們并不想將存儲過程的代碼暴露給用戶。那么,如何實現(xiàn)這個目的呢?
DELIMITER $ CREATE PROCEDURE my_first_proc() BEGIN -- 這里是想隱藏的存儲過程代碼 END $ DELIMITER ;
在上面的代碼中,我們使用了“DELIMITER $”和“DELIMITER ;”這兩個語句,它們的作用是改變MySQL的默認結(jié)束符,使得存儲過程的代碼看起來更加簡潔明了。在“BEGIN”和“END”之間的代碼就是我們想要隱藏的存儲過程代碼,可以根據(jù)實際需求進行編寫。
在實際使用中,我們可以通過調(diào)用存儲過程的方式來實現(xiàn)用戶無法看到代碼的效果。
CALL my_first_proc();
通過以上的方式,我們就可以有效地將MySQL存儲過程的代碼隱藏起來,保護我們的核心業(yè)務(wù)邏輯不被外界所窺探。但是需要注意的是,在開發(fā)過程中,為了方便調(diào)試,我們還是可以暫時將存儲過程的代碼暴露出來。在上線前,再將代碼隱藏起來。