`
baobeituping
  • 浏览: 1068513 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

项目中对于mysql数据库自定义函数的应用

阅读更多

该函数满足的一个需求就是,产生一个自增的编码。

首先要创建一个表。来保存你上一个创建字段的信息

DROP TABLE IF EXISTS `dicnotable`;
CREATE TABLE `dicnotable` (
  `ID` int(11) NOT NULL auto_increment,
  `DataBaseName` varchar(20) default NULL,
  `TableName` varchar(20) default NULL,
  `PreFix` varchar(20) default NULL,
  `Total` varchar(20) default NULL,
  `NumLength` varchar(20) default NULL,
  `Info` varchar(200) default NULL,
  `OperID` varchar(20) default NULL,
  `OperName` varchar(20) default NULL,
  `RegisterDate` timestamp NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  PRIMARY KEY  (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=gb2312;

-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `dicnotable` VALUES ('1', 'boss', 'Person', 'KGEP', '0', '4', '员工编码', 'KGEP9999', '张三, '2010-09-10 14:30:25');

 

每增加一个数据,会在所创建表的total字段上加一,这样就保存了上一个创建的ID,

然后写一个自定义的函数,通过传入表名,然后取出TOTAL,然后再加上自定义的KGEP,

最后得到的自增字段的结果,例如"KGEP0001"

 

DELIMITER $$
drop function if exists `F_GetSysID` $$
CREATE

  FUNCTION `F_GetSysID`( TableName varchar(30))
  RETURNS varchar(30)

  BEGIN

 declare TPreFix varchar(20);
 declare TTotal varchar(20);
        declare TNumLength varchar(20);
      
 declare ZeroString varchar(20);

 set @PreFix='';
 set @Total  ='';
 set @Length=0 ;
 set @TotalLength =0;
        set @ZeroNum=0;
 

   

 select  PreFix into TPreFix from  DicNoTable where  TableName=TableName;

 select Total into TTotal from  DicNoTable where  TableName=TableName;

 select  NumLength into TNumLength from  DicNoTable where  TableName=TableName;

 set @TotalLength=length(TTotal+1);

 if @TotalLength>TNumLength
 then
  set ZeroString='1';
 end if;

 if @TotalLength<=TNumLength
 then
  
  set ZeroString=TTotal+1;
  while   @ZeroNum<TNumLength-@TotalLength do
     
      set ZeroString=concat('0',ZeroString);
      set  @ZeroNum=@ZeroNum+1;
     end while;
  set ZeroString=concat(TPreFix,ZeroString);

  

 

 end if;
      

 

return ZeroString; 
  END$$

DELIMITER ;

分享到:
评论

相关推荐

    mysql数据库转瀚高数据库所需要的函数列表

    1、mysql数据库转国产化瀚高数据库; 2、有些函数在瀚高数据库中不存在,需要添加自定义函数。

    mysql转人大金仓数据库所需要的函数列表

    1、mysql数据库转国产化人大金仓数据库; 2、有些函数在人大金仓数据库中不存在,需要添加自定义函数。

    mysql 自定义函数1

    mysql自定义函数 在MySQL数据库中,可以通过创建自定义函数来扩展数据库的功能,以便更方便和灵活地处理数据。以下是创建MySQL自定义函数的基本步骤:

    sql自定义函数 sql自定义函数

    SQL(Structured Query Language)自定义函数是数据库管理系统中一个强大的特性,它允许用户根据特定需求创建自己的函数,以便在查询和处理数据时使用。自定义函数可以极大地提高SQL语句的灵活性和可重用性,使得...

    使用MySQL自定义函数实现金额大小写互转

    用MySQL函数实现 小写金额与大写金额的互转,用数据库来实现

    MYSQL自定义函数判断是否正整数的实例代码

    在MySQL数据库中,有时我们需要对数据进行特定的验证,例如检查某个值是否为正整数。在这种情况下,自定义函数可以派上用场。本文将详细介绍如何创建一个MySQL自定义函数,用于判断输入的值是否为非负整数,即正整数...

    14.Oracle自定义函数1

    虽然数据库自定义函数在某些情况下非常有用,如解决跨数据库兼容性问题,但它们的使用通常不如编程语言中的函数方便。自定义函数在 Oracle 中编写和调试较为繁琐,且效率可能较低。在实际应用中,应权衡其优点和缺点...

    MySQL数据库应用实战教程

    MySQL数据库提供了函数和存储过程功能。函数可以分为流程 控制函数、常用函数、自定义函数。流程控制函数可以在SQL语句 中实现条件选择,提高执行效率。MySQL数据库内置了一些常用函 数,包括数学函数、字符串函数、...

    数据库获取中文首字母自定义函数(字母查汉字模糊查询)

    这里,我们将深入探讨如何创建一个数据库自定义函数,实现“字母查汉字”和“模糊查询”的功能。 标题“数据库获取中文首字母自定义函数(字母查汉字模糊查询)”指的是在数据库系统中定义一个函数,该函数能接受...

    《MySQL数据库技术及应用项目教程》课程标准.docx

    《MySQL数据库技术及应用项目教程》是一门专为信息技术及其计算机相关专业设计的课程,旨在让学生深入了解数据库技术,特别是MySQL数据库的使用。课程的核心目标是培养学生掌握MySQL数据库的日常操作、维护、设计与...

    MySQL数据库应用从入门到精通 第2版

    根据提供的文件信息,这里主要关注的是“MySQL数据库应用从入门到精通 第2版”这一书籍。下面将基于此书的标题、描述以及可能涉及的部分内容,深入探讨与MySQL数据库相关的知识点。 ### MySQL数据库简介 MySQL是一...

    mysql存储过程之返回多个值的方法示例

    MySQL存储过程是数据库中用于执行复杂操作的一组预编译的SQL语句,它们可以接收输入参数、输出结果以及在内部处理数据。在本示例中,我们将探讨如何通过存储过程返回多个值,并且结合PHP进行调用。 首先,我们要...

    MySQL自定义函数简单用法示例

    MySQL自定义函数是数据库系统提供的一种扩展功能,允许用户根据需求创建自己的函数,以实现特定的数据处理或转换。本文将通过实例介绍如何在MySQL中创建和使用自定义函数,包括基本用法、分支结构和循环结构。 首先...

    MySQL创建自定义函数有关问题

    在MySQL中,自定义函数是数据库管理员或开发者为了满足特定业务需求而创建的。这些函数可以扩展MySQL内置功能,提供更高效、灵活的数据处理能力。然而,在创建自定义函数时,可能会遇到一些问题,比如“此函数在声明...

    MySQL数据库基础实例教程(第2版)(微课版)-教学课件.zip

    此外,还会讲解触发器的使用,以及如何编写自定义函数和存储过程。 第九章 数据库管理:本章涉及数据库的安全性、备份与恢复、性能监控和优化。学习者将学习用户权限管理、日志系统、数据备份策略,以及如何通过...

    Flinkcdc监测mysql数据库,自定义反序列化,利用flinkApi和flinkSql两种方式

    在这个场景下,我们将深入探讨如何使用Flink CDC来监测MySQL数据库,并且实现自定义反序列化,以及如何通过Flink API和Flink SQL两种方式进行数据处理。 首先,让我们理解什么是CDC。CDC是一种数据库复制技术,它...

    浅谈mysql 自定义函数

    MySQL自定义函数是数据库系统中一个非常实用的功能,允许用户根据特定需求编写自己的函数,以扩展MySQL的标准功能集。在上述描述中,我们看到如何创建一个简单的MySQL自定义函数,名为`onlineFunction`,用于根据...

    MySQL通过自定义函数实现递归查询父级ID或者子级ID

    这种方法虽然效率可能不如其他数据库系统中的递归查询语法,但对于有限的层级深度和不支持递归查询的MySQL版本,这是一种有效的解决方案。需要注意的是,如果层级关系非常复杂,大量的递归可能会导致性能问题,因此...

    MySQL触发器、存储过程、自定义函数、视图示例

    以上四个示例分别介绍了如何在MySQL中使用触发器、存储过程、自定义函数和视图。这些功能可以帮助开发者更好地管理数据库,实现更高效的数据操作和维护。 - **触发器**:在数据发生变化时自动执行,通常用于审计...

    mysql数据库导出设计文档工具_全jar

    MySQL数据库是世界上最流行的开源关系型数据库管理系统之一,广泛应用于各种规模的企业和项目中。为了管理和维护数据库,开发者经常需要对数据库进行设计、分析和文档化。"mysql数据库导出设计文档工具_全jar" 提供...

Global site tag (gtag.js) - Google Analytics