mysql触发器之姓名转姓名拼音
2014-04-09 09:56
381 查看
人员表people 字段:id,peopleNumber,name,namePinyin,sex,birthday,nation。
namePinyin不用填写,根据name自动生成。
wordlib为字库表,内容为文字拼音对照
创建表
插入触发器
更新触发器
namePinyin不用填写,根据name自动生成。
wordlib为字库表,内容为文字拼音对照
创建表
create table people( id int auto_increment primary key, peopleNumber varchar(18), name varchar(20), namePinyin varchar(50), sex varchar(4), birthday date, nation varchar(30) )character set utf8;
插入触发器
drop trigger if exists insert_pinyin; delimiter // create trigger insert_pinyin before insert on people for each row begin declare num int default 1; declare single_word varchar(2); declare single_py varchar(10); declare total_py varchar(50) default ''; while num <= char_length(new.name) do set single_word = substr(new.name,num,1); select pinyin into single_py from wordlib where word = single_word; set total_py = concat(total_py,single_py); set num = num + 1; end while; set new.namePinyin = total_py; end // delimiter ;
更新触发器
drop trigger if exists update_pinyin; delimiter // create trigger update_pinyin before update on people for each row begin declare num int default 1; declare single_word varchar(2); declare single_py varchar(10); declare total_py varchar(50) default ''; while num <= char_length(new.name) do set single_word = substr(new.name,num,1); select pinyin into single_py from wordlib where word = single_word; set total_py = concat(total_py,single_py); set num = num + 1; end while; set new.namePinyin = total_py; end // delimiter ; insert into people (name,sex,peopleNumber,birthday,nation) values('张三','男','410306199901010001','19990101','汉族')
相关文章推荐
- MySQL学习笔记--触发器的创建与删除及使用注意事项
- MySQL中的触发器
- MySql触发器简单说明
- MySQL 触发器示例
- oracle job定时更新表中文姓名对应拼音字段
- 【转】MYSQL入门学习之十一:触发器的基本操作
- mysql 触发器(trigger)
- mysql 触发器的创建 修改 删除
- mysql 触发器
- 新马華人的姓名大多用方言拼音,所以显得很混乱
- mysql触发器和事务控制
- mysql 触发器中操作 动态表名 的解决办法
- mysql_触发器、函数、if的使用
- MySql 中的 触发器使用
- mysql之存储过程和触发器的应用
- mysql触发器
- 8Python全栈之路系列之MySQL触发器
- mysql 触发器
- mysql客户端删除触发器报 1419错误
- mysql触发器