首頁 >資料庫 >mysql教程 >MySQL預存程序的檢視與刪除方法是什麼

MySQL預存程序的檢視與刪除方法是什麼

WBOY
WBOY轉載
2023-05-28 15:31:161726瀏覽

    一、查看預存程序

    預存程序建立以後,使用者可以透過SHOW STATUS語句來查看預存程序的狀態,也可以透過SHOW CREATE語句來查看預存程序的定義。使用者也可以透過查詢information_schema資料庫下的Routines表來查看預存程序的資訊。本節將詳細講解查看預存程序的狀態與定義的方法。

    1.SHOW STATUS語句查看預存程序

    在MySQL中,可以透過SHOW STATUS語句。其基本語法形式如下:

     SHOW PROCEDURE STATUS  [ like ‘pattern'] ;
    • 參數PROCEDURE表示查詢預存程序;

    • 參數LIKE 'pattern'用來匹配存儲過程的名稱。

    show procedure status like 'proc%';

    MySQL預存程序的檢視與刪除方法是什麼

    2.使用SHOW CREATE語句查看預存程序的定義

    在MySQL中,可以透過SHOW CREATE語句查看預存程序的狀態,語法形式如下: 

    SHOW CREATE PROCEDURE proc_name ;|\G
    • 參數PROCEDURE表示查詢預存程序;

    • 參數proc_name表示存儲過程的名稱。

    Ⅰ使用分號結束

    show create procedure proc_age;

    MySQL預存程序的檢視與刪除方法是什麼

    Ⅱ使反斜線結束(使用反斜線條理更清晰)

    MySQL預存程序的檢視與刪除方法是什麼

    3、從information_schema.Routine表中查看預存程序的資訊

    Routines table in the information_schema database stores information about stored procedures and functions.。可以透過查詢該表的記錄來查詢預存程序和函數的資訊。其基本語法形式如下: 

    SELECT * FROM information_schema.Routines
        Where ROUTINE_NAME = ‘proc_name';
    • 欄位ROUTINE_NAME是Routines 儲存儲存程序和函數的欄位名稱;

    • 參數proc_name表示預存程序或函數的名稱。

    select * from information_schema.Routines 
        where routine_name = 'proc_age';

    MySQL預存程序的檢視與刪除方法是什麼

    或單獨查看預存程序的語句 

    select routine_definition from information_schema.Routines 
        where routine_name = 'proc_age';

    MySQL預存程序的檢視與刪除方法是什麼

    二、預存程序的刪除

    在MySQL中刪除預存程序透過SQL語句DROP完成: 

    DROP PROCEDURE proc_name;
    關鍵字DROP PROCEDURE用來表示實作刪除預存程序;參數proc_name表示所要刪除的預存程序名稱。

    例如

    MySQL預存程序的檢視與刪除方法是什麼

    附:預存程序修改

    #儘管MySQL資料庫支援對預存程序的修改,但我們依舊不可以修改存儲過程中的內容,也不能修改預存程序的名稱。如果想要修改預存程序的內容,只能刪除原有的預存程序,然後再重新寫一個預存程序;如果想要修改預存程序的名稱,只能刪除原有的預存程序,再重新建立一個新的儲存過程,並且把原有預存程序的內容寫入到新的預存程序名稱裡面。

    MySQL只支援修改預存程序的一些特性,修改指令SQL範例如下:

    alter procedure 【儲存過程名稱】 【儲存程序特性】;

    #可以寫入的預存程序特性主要有以下6種:

    2、no sql。表示子程序不包含SQL語句。

    3、reads sql data。表示子程式中包含讀取資料的SQL語句。

    4、modifies sql data。表示子程序中包含寫入資料的SQL語句。

    重新表達:可使用sql security define或sql security invoke。如果是define,則表示該預存程序只有定義者本身才可以執行,如果是invoke,則表示呼叫者可以執行。

    6、comment 【註釋資訊】。表示向該預存程序新增註釋資訊。

    以上是MySQL預存程序的檢視與刪除方法是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除