20. ROUTINES
20. ROUTINES
ROUTINES
表提供有关存储例程(存储过程和存储函数)的信息。 ROUTINES
表不包含内置SQL函数或用户定义函数(UDF)。
名为mysql.proc Name
的列表示与INFORMATION_SCHEMA ROUTINES表列对应的mysql.proc表列(如果有)。
ROUTINES
表有以下列:
- SPECIFIC_NAME :例程的名称。
- ROUTINE_CATALOG :例程所属目录的名称。该值始终为def。
- ROUTINE_SCHEMA :例程所属schema(database)的名称
- ROUTINE_NAME :例程的名称。
- ROUTINE_TYPE :存储过程的PROCEDURE ,存储函数的FUNCTION。
- DATA_TYPE :如果例程是存储函数,则返回值数据类型。如果例程是存储过程,则此值为空。
DATA_TYPE值只是类型名称,没有其他信息。 DTD_IDENTIFIER值包含类型名称以及可能的其他信息,例如精度或长度。 - CHARACTER_MAXIMUM_LENGTH:对于存储的函数字符串返回值,以字符为单位的最大长度。如果例程是存储过程,则此值为NULL。
- CHARACTER_OCTET_LENGTH :对于存储的函数字符串返回值,以字节为单位的最大长度。如果例程是存储过程,则此值为NULL。
- NUMERIC_PRECISION :对于存储函数数字返回值,数字精度。如果例程是存储过程,则此值为NULL。
- NUMERIC_SCALE :对于存储的函数数字返回值,数字刻度。如果例程是存储过程,则此值为NULL。
- DATETIME_PRECISION :对于存储的函数时间返回值,小数秒精度。如果例程是存储过程,则此值为NULL。
- CHARACTER_SET_NAME :对于存储的函数字符串返回值,字符集名称。如果例程是存储过程,则此值为NULL。
- COLLATION_NAME :对于存储的函数字符串返回值,排序规则名称。如果例程是存储过程,则此值为NULL。
- DTD_IDENTIFIER :如果例程是存储函数,则返回值数据类型。如果例程是存储过程,则此值为空。
DATA_TYPE值只是类型名称,没有其他信息。 DTD_IDENTIFIER值包含类型名称以及可能的其他信息,例如精度或长度。 - ROUTINE_BODY :用于例程定义的语言。该值始终为SQL。
- ROUTINE_DEFINITION :例程执行的SQL语句的文本。
- EXTERNAL_NAME :此值始终为NULL。
- EXTERNAL_LANGUAGE :存储例程的语言。 MySQL计算EXTERNAL_LANGUAGE是根据:
- 如果mysql.proc.language =’SQL’,则EXTERNAL_LANGUAGE为NULL
- 否则,EXTERNAL_LANGUAGE就是mysql.proc.language中的内容。但是,我们还没有外部语言,因此它始终为NULL。
- PARAMETER_STYLE :该值始终为SQL。
- IS_DETERMINISTIC :yes或no,取决于是否使用DETERMINISTIC特性定义例程。
- SQL_DATA_ACCESS :例程的数据访问特性。该值是CONTAINS SQL,NO SQL,READS SQL DATA或MODIFIES SQL DATA之一。
- SQL_PATH :此值始终为NULL。
- SECURITY_TYPE :例程SQL SECURITY特性。该值是DEFINER或INVOKER之一。
- CREATED :创建例程的日期和时间。这是TIMESTAMP值。
- LAST_ALTERED :上次修改例程的日期和时间。这是TIMESTAMP值。如果例程自创建以来未被修改,则此值与CREATED值相同。
- SQL_MODE :创建或更改例程时执行的SQL模式,以及执行例程的情况。有关允许的值,请参见“服务器SQL模式”。
- ROUTINE_COMMENT :如果例程有注释,则以文本显示。反正,则为空。
- DEFINER :以“user_name”@“host_name”格式创建例程的用户的帐户。
- CHARACTER_SET_CLIENT :创建例程时character_set_client系统变量的会话值。
- COLLATION_CONNECTION :创建例程时collation_connection系统变量的会话值。
- DATABASE_COLLATION :与例程关联的数据库的排序规则。
Notes
- 有关存储的函数返回值的信息也可在PARAMETERS表中找到。存储函数的返回值行可以标识为ORDINAL_POSITION值为0的行。
mysql> select * from routines limit 47,1\G
*************************** 1. row ***************************
SPECIFIC_NAME: version_patch
ROUTINE_CATALOG: def
ROUTINE_SCHEMA: sys
ROUTINE_NAME: version_patch
ROUTINE_TYPE: FUNCTION
DATA_TYPE: tinyint
CHARACTER_MAXIMUM_LENGTH: NULL
CHARACTER_OCTET_LENGTH: NULL
NUMERIC_PRECISION: 3
NUMERIC_SCALE: 0
DATETIME_PRECISION: NULL
CHARACTER_SET_NAME: NULL
COLLATION_NAME: NULL
DTD_IDENTIFIER: tinyint(3) unsigned
ROUTINE_BODY: SQL
ROUTINE_DEFINITION: BEGIN RETURN SUBSTRING_INDEX(SUBSTRING_INDEX(VERSION(), '-', 1), '.', -1); END
EXTERNAL_NAME: NULL
EXTERNAL_LANGUAGE: NULL
PARAMETER_STYLE: SQL
IS_DETERMINISTIC: NO
SQL_DATA_ACCESS: NO SQL
SQL_PATH: NULL
SECURITY_TYPE: INVOKER
CREATED: 2018-07-31 16:44:11
LAST_ALTERED: 2018-07-31 16:44:11
SQL_MODE:
ROUTINE_COMMENT:
Description
Returns the patch release version of MySQL Server.
Returns
TINYINT UNSIGNED
Example
mysql> SELECT VERSION(), sys.version_patch();
+--------------------------------------+---------------------+
| VERSION() | sys.version_patch() |
+--------------------------------------+---------------------+
| 5.7.9-enterprise-commercial-advanced | 9 |
+--------------------------------------+---------------------+
1 row in set (0.00 sec)
DEFINER: mysql.sys@localhost
CHARACTER_SET_CLIENT: utf8
COLLATION_CONNECTION: utf8_general_ci
DATABASE_COLLATION: utf8_general_ci
1 row in set (0.01 sec)
20. ROUTINES的更多相关文章
- Reentrant protected mode kernel using virtual 8086 mode interrupt service routines
A method for allowing a protected mode kernel to service, in virtual 8086 mode, hardware interrupts ...
- CSharpGL(20)用unProject和Project实现鼠标拖拽图元
CSharpGL(20)用unProject和Project实现鼠标拖拽图元 效果图 例如,你可以把Big Dipper这个模型拽成下面这个样子. 配合旋转,还可以继续拖拽成这样. 当然,能拖拽的不只 ...
- ABP(现代ASP.NET样板开发框架)系列之20、ABP展现层——动态生成WebApi
点这里进入ABP系列文章总目录 ABP(现代ASP.NET样板开发框架)系列之20.ABP展现层——动态生成WebApi ABP是“ASP.NET Boilerplate Project (ASP.N ...
- 帮我做个APP,给你20万,做不做?
一.为什么要写这篇文章 前段时间,有个辞职 创业的同事(做法务的) 问我 开发一个 新闻类的APP要多少钱,产品.UI.接口.后台管理页 他们啥都没有,想全部外包. 我 并没有在外包公司做过,也没 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(20)-权限管理系统-根据权限获取菜单
系列目录 不知不觉到20讲,真是漫长的日子,可惜最近工作挺忙,要不可以有更多的时间来更新,多谢大家的一路支持.如果你觉得好,记得帮我点击推荐^-^ 我们在之前已经插入一些真实数据,其中包含了一个用户和 ...
- LINQ to SQL语句(20)之存储过程
在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些.下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下. 1.标量返回 在数据库中, ...
- C#开发微信门户及应用(20)-微信企业号的菜单管理
前面几篇陆续介绍了很多微信企业号的相关操作,企业号和公众号一样都可以自定义菜单,因此他们也可以通过API进行菜单的创建.获取列表.删除的操作,因此本篇继续探讨这个主体,介绍企业号的菜单管理操作. 菜单 ...
- 20个非常有用的Java程序片段
下面是20个非常有用的Java程序片段,希望能对你有用. 1. 字符串有整型的相互转换 String a = String.valueOf(2); //integer to numeric strin ...
- 20个不可思议的 WebGL 示例和演示
WebGL 是一项在网页浏览器呈现3D画面的技术,有别于过去需要安装浏览器插件,通过 WebGL 的技术,只需要编写网页代码即可实现3D图像的展示.WebGL 可以为 Canvas 提供硬件3D加速渲 ...
随机推荐
- poj2229【完全背包-规律Orz...】
挑战DP 题意: 被组合数只能是2的整数幂,然后给出一个数问有多少种组合(mod1e10): 思路: 完全背包做啊-还是蛮简单的-(这里取膜要改成加法,省时间-) dp[i]代表对于j的方案数 贴一发 ...
- python 合集set,交集,并集,差集,对称差集别搞混
有集合 x与y x = {1,2,3,4,5}y = {4,5,6,7,8} x和y的交集为 {4,5} x和y的对称差集{1, 2, 3, 6, 7, 8} x和y的并集{1, 2, 3, 4, 5 ...
- Gist使用经验
注:本文只是分享Gist使用经验,不讨论类似软件或服务的优劣,对于技术或软件不要有傲慢与偏见 一.Gist是什么 关于Gist的详细介绍,请阅读官方文档About gists,下面只简略介绍我所用到的 ...
- 跟我一起玩Win32开发(18):使用对话框的两个技巧
相信大家知道对话框怎么用了,就是先用“资源编辑器”设计一个对话框,然后在代码中加载处理.今天,我向大家分享两个使用对话框的技巧,还是比较实用的.不用担心,先喝杯茶,很简单的,一点也不复杂,总之,看俺写 ...
- UvaLive3942(Trie + dp)
查了半天数组越界的RE,才发现自己把ch数组放结构体里是过大的……放全局就A了. 类似区间的dp比较显然,只是用trie树做了优化,使得可以在trie树里一边走一边往上加dp值,不必枚举以前的每个位置 ...
- 题解报告:hdu1201(18岁生日)
2018-02-24题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1201 Problem Description Gardon的18岁生日就要到了,他 ...
- 129 Sum Root to Leaf Numbers 求根叶数字总和
给定一个只包含 0-9 数字的二叉树,每个根到叶的路径可以代表一个数字.例如,从根到叶路径 1->2->3则代表数字 123.查找所有根到叶数字的总和.例如, 1 / \ 2 ...
- 【学习笔记】深入理解js原型和闭包(8)——简述【执行上下文】上
什么是“执行上下文”(也叫做“执行上下文环境”)?暂且不下定义,先看一段代码: 第一句报错,a未定义,很正常.第二句.第三句输出都是undefined,说明浏览器在执行console.log(a)时, ...
- iOS 随笔小技巧 弱self 打印当前类行数列数,多人开发自动适配pch地址,获取设备uid的信息
$(SRCROOT)/PrefixHeader.pch自动适配pch地址 __weak __block typeof(self) weakself = self; __weak typeof(self ...
- configure: error: The LBL Packet Capture Library, libpcap, was not found!
configure: error: The LBL Packet Capture Library, libpcap, was not found! yum install libpcap*