工作中以前是使用纯JAVA语法的hsqldb数据库,在hsqldb的sql语句中可以直接调用java定义的函数。后来由于性能问题将hsqldb改为mysql数据库,导致以前用java语法定义的函数不能够在sql语句中直接调用,就需要自己向mysql数据库中添加用户自定义函数。
在网上搜了下,只要有几种定义方式,一种是通过mysql调用c,或者c++写的函数文件,这种定义方式比较复杂。另一种是直接写存储函数过程。
由于我的数据库是和应用程序打包成exe文件,在应用程序安装时对mysql采用绿色安装方法。
mysql数据的安装方法,
在应用程序的安装包中,已经包含了mysql绿色版压缩文件,和对应的数据库文件mydata压缩包,并预先配置好my.ini文件。注:mysql里my.ini文件里[mysqld]预先加上 log-bin-trust-function-creators=1;
安装过程分别解压mysql和mydata。
1,把mysql注册为操作系统后台服务,并指明数据库文件为mydata文件夹。
2,使用create database TEST DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;来指明数据库为gbk支持中文的字符集。注:此处为了解决不支持中文字符问题;
3,使用mysql的可视化工具,我用了Navicat for MySQL,建立和TEST数据库的连接,并在TEST 数据库下创建函数并保存。
4,从mydata文件加下找到TEST 文件夹并复制出来,添加到应用程序安装包中的mydta压缩包中。
5,卸载mysql,并重新安装,函数已经添加到数据库中,应用程序已经通过sql直接调用;
ps:以前没有接触过mysql的函数创建,刚开始写函数时不会,写了几次,就觉得很简单了。
分享到:
相关推荐
MySQL关于自定义函数以及常用函数的组织点的总结(例如日期函数)
mysql自定义函数 在MySQL数据库中,可以通过创建自定义函数来扩展数据库的功能,以便更方便和灵活地处理数据。以下是创建MySQL自定义函数的基本步骤:
用MySQL函数实现 小写金额与大写金额的互转,用数据库来实现
本文实例讲述了MySQL自定义函数用法。分享给大家供大家参考,具体如下: 先来一个简单的,创建一个函数将’2009-06-23 00:00:00’这样格式的datetime时间转化为’2009年6月23日0时0分0秒’这样的格式: DELIMITER $...
MySQL-Redis是一款可以在 MySQL 中操作 Redis 的一个UDF(MySQL用户自定义函数插件),不能独立运行,需要依赖于 MySQL。mysql_redis可以在支持标准C99编译器的操作系统上编译,但是hiredis-vip与Redis的支持环境限制...
本文实例讲述了mysql自定义函数原理与用法。分享给大家供大家参考,具体如下: 本文内容: 什么是函数 函数的创建 函数的调用 函数的查看 函数的修改 函数的删除 首发日期:2018-04-18 什么是函数: 函数...
给Mysql加自定义函数计算百分位数(percentile)。-附件资源
主要介绍了MySQL通过自定义函数实现递归查询父级ID或者子级ID,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
本篇文章是对mysql创建自定义函数与存储过程进行了详细的分析介绍,需要的朋友参考下
MySQL触发器、存储过程、自定义函数、视图简单示例
This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled 错误解决办法 原创文章 1获赞 1访问量 11 关注 私信 展开阅读全文
主要介绍了MYSQL自定义函数判断是否正整数 的实例代码,主要是使用正则表达式来判断,具体实例代码大家跟随小编一起通过本文学习吧
压缩包里提供了dll和so分别用户windows和linux。只需把dll或则so放到mysql安装目录下的lib/plugin目录下,然后登录mysql执行如下命令: DROP FUNCTION IF EXISTS `SNOWFLAKE`; CREATE FUNCTION `SNOWFLAKE` RETURNS ...
本节主要介绍了MySQL 自定义函数CREATE FUNCTION,下面是示例代码,需要的朋友可以参考下
因为工作需要,要写一个mysql的自定义行数,如下 DELIMITER $$ DROP FUNCTION IF EXISTS `onlineFunction`$$ CREATE FUNCTION `onlineFunction`(rrrr VARCHAR(50)) RETURNS VARCHAR(255) BEGIN IF(rrrr='online') ...
本文主要给大家介绍的是关于MySQL自定义函数和存储过程的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 1、前置条件 MySQL数据库中存在表user_info,其结构和数据如下: mysql> desc...
主要介绍了mysql存储过程之返回多个值的方法,结合实例形式分析了mysql存储过程返回多个值的实现方法与PHP调用技巧,需要的朋友可以参考下
mysql_function_china_workday使用mysql是json函数,通过给每...wokday.sql自定义函数的sql注意未兼容下班后(例如:18:00)算下一个工作日没有0个工作日概念,所以结果+1不支持mysql 5.6版本测试用,勿适用于生产环境