过程体就好比是和数据库的一种事先约定:执行一次过程体之后,数据库就明白以后传过来的这种东西(参数)就是按照约定的某个规则来处理,所以不需要再次编译,因此执行效率高。
比如一开始你就和A(A代表数据库)约定:以后给A一袋苹果,A就拿来吃;如果给A一支笔,A就拿来写字;如果给A一个豆豆,A就打豆豆,这些就是约定的规则(称为过程体),A执行了一次命令之后,以后你再递给A一袋苹果、一支笔、一个豆豆的时候,就不需要和A再沟通了(也就是不需要再编译了),你压根不用说话,A就已经知道你要做什么了,直接执行,所以效率很高。
比如一开始你就和A(A代表数据库)约定:以后给A一袋苹果,A就拿来吃;如果给A一支笔,A就拿来写字;如果给A一个豆豆,A就打豆豆,这些就是约定的规则(称为过程体),A执行了一次命令之后,以后你再递给A一袋苹果、一支笔、一个豆豆的时候,就不需要和A再沟通了(也就是不需要再编译了),你压根不用说话,A就已经知道你要做什么了,直接执行,所以效率很高。
2018-04-08
@recying5566的 回答沉下去了, 我按照顺序正确执行
@recying5566 :切记!要先设置set names gbk;再自定义函数,否则会出错,调用函数只显示2016
@recying5566 :切记!要先设置set names gbk;再自定义函数,否则会出错,调用函数只显示2016
2018-04-08
如果遇到: This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled ....
先执行 show variables like '%func%' 看log_bin_trust_function_creators是否为 OFF,
未开启则:set global log_bin_trust_function_creators=1;
先执行 show variables like '%func%' 看log_bin_trust_function_creators是否为 OFF,
未开启则:set global log_bin_trust_function_creators=1;
2018-04-08
帮助各位做笔记
MySQL登陆
-D, --database=name 打开指定数据库
--delimiter=name 指定分隔符
-h, --host=name 服务器名称
-p, --password[=name] 密码
-P, --port=# 端口号
--prompt=name 设置提示符
-u, --user=name 用户名
-V, --version 输出版本信息并退出
以上操作区分大小写
MySQL登陆
-D, --database=name 打开指定数据库
--delimiter=name 指定分隔符
-h, --host=name 服务器名称
-p, --password[=name] 密码
-P, --port=# 端口号
--prompt=name 设置提示符
-u, --user=name 用户名
-V, --version 输出版本信息并退出
以上操作区分大小写
2018-04-07
已采纳回答 / 未见雪霜痕
进到官网里面下载新版:https://dev.mysql.com/downloads/installer/ 然后度娘有新版的安装教程:https://jingyan.baidu.com/article/f3ad7d0ffc061a09c3345bf0.html
2018-04-07