从information_schema.Routines表中查看存储过程的信息
时间: 2024-02-19 14:57:29 浏览: 174
可以使用以下SQL语句从information_schema.Routines表中查看存储过程的信息:
```
SELECT routine_name, routine_definition, created, last_altered
FROM information_schema.routines
WHERE routine_type = 'PROCEDURE';
```
这个查询语句会返回所有存储过程的名称、定义、创建时间和最后修改时间。其中,`routine_type = 'PROCEDURE'` 条件用于过滤掉所有函数,只返回存储过程的信息。
相关问题
information_schema.Routines
information_schema.Routines是MySQL数据库中的一个系统表,它包含了所有存储过程和函数的详细信息,例如它们的名称、参数、返回值、创建时间、修改时间、字符集等。通过查询这个表,可以方便地了解数据库中所有存储过程和函数的信息,从而更好地管理和维护数据库。值得注意的是,该表不包含触发器的信息。
information_schema.routines 详解
`information_schema.routines` 是 MySQL 系统数据库 `information_schema` 中的一个表,用于存储数据库中所有存储过程和函数的信息。该表包含以下列:
- `SPECIFIC_NAME`:存储过程或函数的唯一名称。
- `ROUTINE_CATALOG`:存储过程或函数所属的数据库名称。
- `ROUTINE_SCHEMA`:存储过程或函数所属的数据库名称。
- `ROUTINE_NAME`:存储过程或函数的名称。
- `ROUTINE_TYPE`:存储过程或函数的类型,取值为 "PROCEDURE" 或 "FUNCTION"。
- `DTD_IDENTIFIER`:存储过程或函数的返回类型,以及参数的类型和数量的描述。
- `ROUTINE_BODY`:存储过程或函数的实现体,取值为 "SQL" 或 "NATIVE"。
- `ROUTINE_DEFINITION`:存储过程或函数的定义体,即存储过程或函数的 SQL 语句。
- `EXTERNAL_NAME`:当存储过程或函数是外部函数时,存储外部函数的名称。
- `EXTERNAL_LANGUAGE`:当存储过程或函数是外部函数时,存储外部函数的编程语言。
使用 `information_schema.routines` 可以方便地查询数据库中所有存储过程和函数的信息,例如可以通过以下语句查询数据库中所有存储过程和函数的名称和类型:
```sql
SELECT ROUTINE_NAME, ROUTINE_TYPE FROM information_schema.routines;
```
该表还可以用于查询指定存储过程或函数的详细信息,例如可以通过以下语句查询指定存储过程的定义体:
```sql
SELECT ROUTINE_DEFINITION FROM information_schema.routines WHERE ROUTINE_NAME = 'my_proc';
```
需要注意的是,只有当用户对存储过程或函数有访问权限时,才能查询到该存储过程或函数的信息。
阅读全文