zoukankan      html  css  js  c++  java
  • 防止姓名重复解决

    这里以Oracle 10g为实,项目中需要录入人员,而人员的姓名是不能重复的,如果有重复,需要在后面增加1,2,3.....

    首先,判断姓名是否存在

    select * from hr_archives where username='张三';

      如果存在,获取所有张三1、张三2的个数

       select count(*) from hr_archives where regexp_like(username,'d*$') ;

    *思考:这里有个问题,如果录入的就是张三1,而数据库中已经存在张三、张三1、张三2、张三3;则上面的方法结果是 张三11 而不是我们想要的张三4;

      好,我们这样 select count(*) from hr_archives where  REGEXP_REPLACE(username,'d*$','') = REGEXP_REPLACE('张三1','d*$',''),

      这样我们录入了张三4;

      但是,如果我们满足上面,第一步中,如果我直接录入张三6,这是满足的,此时数据库有张三、张三1、张三2、张三3,张三4,张三6,我们再录入张三的时候,

      第二步会给我返回的结果是张三6,但是张三6已经存在;

    问题就探讨到这里,暂时就这样实现了,虽然不完美。

  • 相关阅读:
    Jedis测试redis
    jedis池的作用
    错误
    Ceph剖析:数据分布之CRUSH算法与一致性Hash
    drools规则引擎初探
    Techniques for HA IT Management
    django_simple_captcha使用笔记
    微服务架构的理论基础
    分布式系统服务的稳定性
    四层、七层负载均衡的区别
  • 原文地址:https://www.cnblogs.com/kongxp/p/6277507.html
Copyright © 2011-2022 走看看