substr(max_APPEAL_no,1,3)+(substr(max_APPEAL_no,4)+1)
其中max_APPEAL_no  是A表中APPEAL_no 字段的最大值,前3位是字母,后面是数字
我现在要把A表的APPEAL_no最大值加1 作为一个数值插入到B表APPEAL_no 中,要怎么写?
我现在写的 insert into B(APPEAL_NO)  values  (substr(max_APPEAL_no,1,3)||to_char(substr(max_APPEAL_no,4)+1)),但是运行报错,请问下该怎么修改,B表的APPEAL_NO   VARCHAR2(32)

解决方案 »

  1.   

    看了好久终于看懂了...INSERT INTO b
      (appeal_no)
      SELECT substr(MAX(appeal_no), 1, 3) ||
             to_char(substr(MAX(appeal_no), 4) + 1)
        FROM a
      

  2.   

    我把MAX(A.MAX(appeal_no)赋值给max_APPEAL_no,上楼给的语句和我写的  
    insert into B(APPEAL_NO)  values  (substr(max_APPEAL_no,1,3) ¦ ¦to_char(substr(max_APPEAL_no,4)+1))
    没差别啊,但是报错
    还是谢谢了
      

  3.   

    找到问题所在了,我以前插入了条数据到B表,APPEAL_NO 第4位后还是字母,所以报错,分还是加给你