3 MySQL檢視儲存過程

2021-10-24 15:59:06 字數 4040 閱讀 6326

建立好儲存過程後,使用者可以通過show atatus語句來檢視儲存過程的狀態,也可以通過show create語句來檢視儲存過程的定義。本節主要講解檢視儲存過程的狀態和定義的方法。

mysql 中可以通過show status 語句檢視儲存過程的狀態,其基本語法形式如下:

show

procedure

status

like 儲存過程名;

like 儲存過程名用來匹配儲存過程的名稱,like 不能省略。

例項 1

建立資料表 studentinfo,sql 語句如下:

create

table

`studentinfo`

(`id`

int(11)

notnull

,`name`

varchar(20

)default

null

,`score`

decimal(4

,2)default

null

,`subject`

varchar(20

)default

null

,`teacher`

varchar(20

)default

null

,primary

key(

`id`))

;

向資料表 studentinfo 中插入資料,sql 語句和執行結果如下:

mysql>

insert

into studentinfo(id,name,score)

values(1

,"zhangsan",80

),(2

,"lisi"

,"70"

);

建立儲存過程 showstuscore,sql 語句和執行結果如下:

mysql>

delimiter

//mysql>

create

procedure showstuscore()-

>

begin

->

select id,name,score from studentinfo;

->

end//

query ok,

0rows affected (

0.07 sec)

下面查詢名為 showstuscore 的儲存過程的狀態,sql 語句和執行結果如下:

mysql>

show

procedure

status

like

'showstuscore' \g**

****

****

****

****

****

****

*1.row***

****

****

****

****

****

****

db: test

name: showstuscore

type: procedure

definer: root@localhost

modified: 2020-02

-2013:34:50

created: 2020-02

-2013:34:50

security_type: definer

comment:

character_set_client: gbk

collation_connection: gbk_chinese_ci

database collation: latin1_swedish_ci

mysql>

show

procedure

status

like

'show%' \g**

****

****

****

****

****

****

*1.row***

****

****

****

****

****

****

db: test

name: showstuscore

type: procedure

definer: root@localhost

modified: 2020-02

-2109:34:50

created: 2020-02

-2109:34:50

security_type: definer

comment:

character_set_client: gbk

collation_connection: gbk_chinese_ci

database collation: latin1_swedish_ci

查詢結果顯示了儲存過程的建立時間、修改時間和字符集等資訊。

mysql 中可以通過show create語句檢視儲存過程的狀態,語法格式如下:

show

create

procedure 儲存過程名;

例項 2

下面使用 show create 查詢名為 showstuscore 的儲存過程的狀態,sql 語句和執行結果如下:

mysql>

show

create

procedure showstuscore \g**

****

****

****

****

****

****

*1.row***

****

****

****

****

****

****

procedure: showstuscore

sql_mode: strict_trans_tables,no_auto_create_user,no_engine_substitution

create

procedure: create

definer

=`root`

@`localhost`

procedure

`showstuscore`()

begin

select id,name,score from studentinfo;

endcharacter_set_client: gbk

collation_connection: gbk_chinese_ci

database collation: latin1_swedish_ci

查詢結果顯示了儲存過程的定義和字符集資訊等。

show status語句只能檢視儲存過程是操作的哪乙個資料庫、儲存過程的名稱、型別、誰定義的、建立和修改時間、字元編碼等資訊。但是,這個語句不能查詢儲存過程的集體定義,如果需要檢視詳細定義,需要使用 show create 語句。

儲存過程的資訊都儲存在 information_schema 資料庫下的 routines 表中,可以通過查詢該錶的記錄來查詢儲存過程的資訊,sql 語句如下:

select

*from information_schema.routines where routine_name=儲存過程名;

在 information_schema 資料庫下的 routines 表中,儲存著所有儲存過程的定義。所以,使用 select 語句查詢 routines 表中的儲存過程和函式的定義時,一定要使用 routine_name 字段指定儲存過程的名稱,否則,將查詢出所有的儲存過程的定義。

檢視mysql儲存過程 mysql檢視儲存過程函式

查詢資料庫中的儲存過程和函式 select name from mysql.proc where db xx and type procedure 儲存過程 select name from mysql.proc where db xx and type function 函式 show proce...

mysql檢視儲存過程 mysql檢視儲存過程

查詢資料庫中的儲存過程和函式 select name from mysql.proc where db xx and type procedure 儲存過程 select from mysql.proc where db xx and type procedure and name xx selec...

MySQL檢視儲存過程

mysql儲存了,儲存過程的狀態資訊 可以使用show status語句,或show create語句來檢視,也可以直接從系統的information schema資料庫中查詢 show status語句,檢視儲存過程的狀態 show status like pattern procedure和fu...