mysql 创建函数
如何进入mysql的cmd命令行模式?
参考:http://submaze.iteye.com/blog/2161952
一、查看创建函数的功能是否开启:
mysql>show variables like ‘%func%’;
+———————————+——-+
| Variable_name | Value |
+———————————+——-+
| log_bin_trust_function_creators | OFF |
+———————————+——-+
1 row in set (0.07 sec)
二、如果value值为OFF,则需要将其开启.
set global log_bin_trust_function_creators=1;
最终状态
mysql> show variables like ‘%func%’;
+———————————+——-+
| Variable_name | Value |
+———————————+——-+
| log_bin_trust_function_creators | ON |
+———————————+——-+
1 row in set (0.04 sec)
三、创建函数时,先选择数据库
mysql> use oct
Database changed
开始创建函数
mysql> delimiter $$
mysql> create function t_fn(lat1 double,lng1 double,lat2 double,lng2 double)
-> returns tinyint
-> begin
-> return 1;
-> end$$
Query OK, 0 rows affected (0.18 sec)
函数创建成功
函数测试
mysql> select t_fn(1,2,3,4);
-> $$
+—————+
| t_fn(1,2,3,4) |
+—————+
| 1 |
+—————+
1 row in set (0.00 sec)
五、删除函数
mysql> drop function t_fn;
-> $$
Query OK, 0 rows affected (0.59 sec)
六、查看函数
1) mysql> show function status;
-> $$
显示数据库中所有函数的基本信息
2) mysql> show create function t_fn;
-> $$
说明:delimiter
MySQL中delimit命令。
这个命令与存储过程没什么关系。
其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
即改变输入结束符。
默认情况下,delimiter是分号“;”。
在命令行客户端中,如果有一行命令以分号结束,
那么回车后,mysql将会执行该命令。
但有时候,不希望MySQL这么做。因为可能输入较多的语句,且语句中包含有分号。
默认情况下,不可能等到用户把这些语句全部输入完之后,再执行整段语句。
因为mysql一遇到分号,它就要自动执行。
这种情况下,就可以使用delimiter,把delimiter后面换成其它符号,如//或$$。
此时,delimiter作用就是对整个小段语句做一个简单的封装。
此命令多用在定义子程序,触发程序等mysql自己内嵌小程序中。
欢迎大家阅读《mysql 创办函数_mysql》,跪求各位点评,by 搞代码