有一张表用户表expert 里面有2个字段密码password0,用户名loginname,手机tel,每条记录是一个用户
字段类型全是varchar2需求如下,我现在要把每个用户的密码改为他本身的用户名加手机的后4位,请教用存储过程改如何实现

解决方案 »

  1.   

    update expert
    set password0 = loginname||substr(tel,8,4)
      

  2.   

    有点不明白的是。substr(8,4)
    为什么是8开始
      

  3.   

    楼上的就可以了,不必用存储过程。
    但如果tel字段内容长度不是定长的11个字符,比如前面加0或86等,可以用下面的语句:update expert 
    set password0 = loginname||substr(tel,-4)
      

  4.   

    如果tel长度不定的话,就用length(tel)-3 开始
      

  5.   

    执行下面的语句,应该可以达到你的要求。UPDATE expert SET password0=loginname||substr(tel,8,11) WHERE ...