mysql的ps.setmaxrows_mysql自定义函数实现表的指定列进行数据脱敏(PS:来自mysql小白的提问)...
要求:不考虑原来字段的值,只考虑数据长度,通过脚本update tabA set colA = stringMask(colA )实现数据脱敏,例如张三丰–ASD
提问:将指定列名作为mysql自定义函数的参数,可否获取该指定列的数据???还是说这种情况通过存储过程实现更好???
背景知识:
自定义函数(user-defined function UDF)与存储过程的区别
1,函数方法的参数列表只允许IN类型的参数,并且不允许指定IN关键字
2,函数方法返回一个单一的值,值的类型在存储方法的头部定义
3,函数方法可以在SQL语句内部调用
4,函数方法不能返回结果集
UDF可以没有参数,但UDF必须有且只有一个返回值
下面是mysql自定义函数,实现的是对传进去的某个字符串进行数据脱敏
CREATE DEFINER=
root
@
localhost
FUNCTION
myMask
(v_str VARCHAR(800)) RETURNS varchar(800) CHARSET utf8
BEGIN
DECLARE str VARCHAR(800) DEFAULT '';
DECLARE strlen VARCHAR(800) DEFAULT '';
DECLARE chars_str varchar(100) DEFAULT 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
DECLARE return_str varchar(800) DEFAULT '';
DECLARE i INT DEFAULT 0;
SET str = v_str;
set strlen = CHAR_LENGTH(str);
WHILE i< CONVERT(strlen,SIGNED) DO
SET return_str = concat(return_str,substring(chars_str , FLOOR(1 + RAND()*62 ),1));
SET i = i +1;
END WHILE;
RETURN return_str;
END
希望通过优化,实现上述要求。
mysql的ps.setmaxrows_mysql自定义函数实现表的指定列进行数据脱敏(PS:来自mysql小白的提问)...相关推荐
- mysql 查询指定字段数据_MySQL使用select语句查询指定表中指定列(字段)的数据
本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...
- mysql select 指定列_MySQL使用select语句查询指定表中指定列(字段)的数据
本文介绍mysql数据库中执行select查询语句,查询指定列的数据,即指定字段的数据. 再来回顾一下sql语句中的select语句的语法: select 语句的基本语法: select from w ...
- MySQL —— to_char、to_date自定义函数
MySQL -- to_char.to_date自定义函数 之前已分析 MySQL与Oracle在日期操作相关的差异 本文是用自定义函数实现to_char.to_date,此方法适用快速进行数据库兼容 ...
- mysql 字段写入_MySQL为数据表的指定字段插入数据
username not null 没有默认值/有默认值 insert不插入username字段 均不报错 2014年07月23日21:05 百科369 MySQL为数据表的指定字段插入数据 ...
- Mysql递归查询(通过自定义函数,实现父子类关系查询)
父子类树tree的关系,比如部门层次结构,菜单结构,可能我们更改了一级的数据,下面的所有子类以及子孙类都需要更改, 可以自定义mysql函数,进行查询出先关联数据,递归查询: 创建测试表: CREAT ...
- 【存储过程】MySQL存储过程/存储过程与自定义函数的区别
---------------------------存储过程-------------------- 语法: 创建存储过程: CREATE [definer = {user|current_user ...
- mysql存储过程自定义结构体_(转)MySQL存储过程/存储过程与自定义函数的区别...
转自:http://www.cnblogs.com/caoruiy/p/4486249.html 语法: 创建存储过程: CREATE[definer = {user|current_user}] P ...
- Mysql的基本函数--与自定义函数
什么是Mysql函数: 类似于java的方法将一组逻辑语句封装在方法体 对外暴露方法名 事先提供好的一些功能可以直接使用 函数可以用在select 语句及其子句上 也可以用在update ,delet ...
- 在mysql中创建一个自定义函数来计算两个数的和_Mysql创建自定义函数
Mysql创建用户自定义函数: >显示库中所有的自定义函数信息: show function status; >创建自定义函数的过程如下demo1: drop function if ex ...
最新文章
- Youth---青春
- Objective-C Reflection(Objective-C 反射机制)实用随笔笔记(持续更新)
- 谁偷走了程序员的时间??
- hibernate缓存机制详细介绍
- Swift之深入解析“属性”的底层原理
- Socket 死连接详解
- QML笔记-JavaScript在QML中的使用(直接调用和间接调用)
- 游戏开发经验分享:我所理解的打击感
- SpringBoot之idea调出Maven Project
- servlet和jsp的转发与重定向代码以及区别
- Flink State - Backend Improvements and Evolution in 2021
- oracle 常用函数
- linux扫描仪如何使用方法,怎样在linux下设置和使用扫描仪.doc
- 关于CSS中背景图片透明度问题
- 编译原理 3.28 作业
- Spring Security 小记 - @Secured(), @PreAuthorize() 及 @RolesAllowed()
- 【知识点总结】电力电子技术——第一讲
- 将一个Excel中的数据导入DataGrid中
- python cannot import name ‘sysconfig‘ from ‘distutils‘
- 请领取你的免费云电脑:微软Windows实验虚拟机,每天可以免费使用两个小时,上Google搜资料很方便