14. PARAMETERS
14. PARAMETERS
PARAMETERS表提供有关存储例程(存储过程和存储函数)的参数以及存储函数的返回值的信息。 PARAMETERS表不包含内置SQL函数或用户定义函数(UDF)。 参数信息类似于mysql.proc表中param_list列的内容。
PARAMETERS表有以下列:
- SPECIFIC_CATALOG :包含参数的例程所属的目录的名称。 该值始终为def。
- SPECIFIC_SCHEMA :包含参数的例程所属的schema(数据库)的名称。
- SPECIFIC_NAME :包含参数的例程的名称。
- ORDINAL_POSITION :对于存储过程或函数的连续参数,ORDINAL_POSITION值为1,2,3等。 对于存储函数,还有一行适用于函数返回值(如RETURNS子句所述)。 返回值不是true参数,因此描述它的行具有以下独特特征:
- ORDINAL_POSITION 为 0
- PARAMETER_NAME和PARAMETER_MODE值为NULL,因为返回值没有名称且模式不适用。
- PARAMETER_MODE :参数的模式。 该值是IN,OUT或INOUT之一。 对于存储函数返回值,此值为NULL。
- PARAMETER_NAME :参数的名称。 对于存储函数返回值,此值为NULL。
- DATA_TYPE :参数数据类型。
DATA_TYPE值只是类型名称,没有其他信息。 DTD_IDENTIFIER值包含类型名称以及可能的其他信息,例如精度或长度。 - CHARACTER_MAXIMUM_LENGTH:对于字符串参数,以字符为单位的最大长度。
- CHARACTER_OCTET_LENGTH :对于字符串参数,以字节为单位的最大长度。
- NUMERIC_PRECISION :对于数字参数,显示数字精度。
- NUMERIC_SCALE :对于数字参数,显示数字刻度。
- DATETIME_PRECISION :对于时间参数,以小数秒精度。
- CHARACTER_SET_NAME :对于字符串参数,字符集名称。
- COLLATION_NAME :对于字符串参数,排序规则名称。
- DTD_IDENTIFIER :参数数据类型。
DATA_TYPE值只是类型名称,没有其他信息。 DTD_IDENTIFIER值包含类型名称以及可能的其他信息,例如精度或长度。 - ROUTINE_TYPE :PROCEDURE用于存储过程, FUNCTION用于存储的函数。
示例
mysql> select * from parameters LIMIT 1\G
*************************** 1. row ***************************
SPECIFIC_CATALOG: def
SPECIFIC_SCHEMA: sys
SPECIFIC_NAME: create_synonym_db
ORDINAL_POSITION: 1
PARAMETER_MODE: IN
PARAMETER_NAME: in_db_name
DATA_TYPE: varchar
CHARACTER_MAXIMUM_LENGTH: 64
CHARACTER_OCTET_LENGTH: 192
NUMERIC_PRECISION: NULL
NUMERIC_SCALE: NULL
DATETIME_PRECISION: NULL
CHARACTER_SET_NAME: utf8
COLLATION_NAME: utf8_general_ci
DTD_IDENTIFIER: varchar(64)
ROUTINE_TYPE: PROCEDURE
1 row in set (0.00 sec)
14. PARAMETERS的更多相关文章
- PHP反射API
近期忙着写项目,没有学习什么特别新的东西,所以好长时间没有更新博客.我们的项目用的是lumen,是基于laravel的一个轻量级框架,我看到里面用到了一些反射API机制来帮助动态加载需要的类.判断方法 ...
- Android 自己的自动化测试(5)<robotium>
大约Android自己的自动化测试UI测试,前出台Android 自己主动化測试(4)<uiautomator>, 在android原生的单元測试框架上,利用uiautomator.jar ...
- Laravel框架使用的一些注意细节(一)
1.资源路由RESTful 当你不想编写太多的路由的时候,肯定会用到RESTful资源控制器.但当你使用资源控制器的时候,需要注意的是,你的资源路由的名字不能与public目录下的文件有重名,否则会导 ...
- Python & Matplotlib: Monte Carlos Method
Hey! 这里是Lindy:) Hope you guys are doing well! 今天想记录的概念叫做 蒙特·卡罗 方法,是今年在cs课上老师做的扩展延伸.其实我在初次接触这个概念时觉得很新 ...
- DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一
关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...
- Effective Modern C++ 42 Specific Ways to Improve Your Use of C++11 and C++14
Item 1: Understand template type deduction. Item 2: Understand auto type deduction. Item 3: Understa ...
- How To Set Up an OpenVPN Server on Ubuntu 14.04
Prerequisites The only prerequisite is having a Ubuntu 14.04 Droplet established and running. You wi ...
- 第14章 位图和位块传输_14.4 GDI位图对象(3)
14.4.10 非矩形的位图图像 (1)“掩码”位图——单色位图,要显示的像素对应的掩码置1,不显示置0(2)光栅操作(点这里,见此文分析) (3)MaskBlt函数 ①MaskBlt(hdcDest ...
- 第14章 位图和位块传输_14.4 GDI位图对象(2)
14.4.7 在位图上绘图 (1)在内存设备环境中绘图(与真实DC不同的是,内存DC的显示表面是个位图) (2)GetTextExtentPoint32函数:用于确定文本字符串的像素大小.(此大小就是 ...
随机推荐
- 二分匹配ZOJ3646
//题意:类比线代里:把矩阵中的U看作[1],是否满足一个满秩矩阵 //利用二分匹配就是 //每一行都有相对应的列: #include<iostream> #include<stri ...
- SpringSercurity基础
创建 spring 配置文件 spring-security.xml intercept-url 表示拦截页面 /* 表示的是该目录下的资源,只包括本级目录不包括下级目录 /** 表示的是该目 ...
- 第十二篇 .NET高级技术之lambda表达式
最近由于项目需要,刚刚学完了Action委托和Func<T>委托,发现学完了委托就必须学习lambda表达式,委托和Lambda表达式联合起来,才能充分的体现委托的便利.才能使代码更加简介 ...
- 51Nod 1094 和为k的连续区间
#include <iostream> #include <algorithm> #include <cstring> using namespace std; t ...
- C++类 单冒号
1.继承 class Base { }; class Derived : public Base { }; 示列: class Base { public: int a=10; }; class ...
- 数论/暴力 Codeforces Round #305 (Div. 2) C. Mike and Frog
题目传送门 /* 数论/暴力:找出第一次到a1,a2的次数,再找到完整周期p1,p2,然后以2*m为范围 t1,t2为各自起点开始“赛跑”,谁落后谁加一个周期,等到t1 == t2结束 详细解释:ht ...
- spark序列化及MapOutputTracker解析
本文主要打算对spark内部的序列化机制以及在shuffle map中起衔接作用的MapOutputTracker做一下剖析.主要涉及具体实现原理以及宏观设计的一些思路. 1,spark序列化 任何一 ...
- Ionic之增加样式会自动换行解决方案
设置样式的时候,引用自身的样式,能正常显示,但是引用自定义样式显示的时候,竟然或自动换行,好尴尬. 原本代码: $('.codeSuccess').css({'display':'block'}); ...
- 一些关于Spring的随笔
Spring的IOC.AOP IOC(Inversion of Control): spring容器控制了所有的bean,不用spring以前,一个bean要依赖另一个bean就在这个bean里初始化 ...
- CCF|学生排队|Java
import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Sc ...