那我再说一下,比如tmpTable里的记录如下
CodeName
白菜
土豆
笔记本写入cccx
cccx的内容应为
codetype      codeno      codename
A             A0001          白菜
A             A0002          土豆
A             A0003          笔记本
codetype为大类代码,实际应用中我会从不同的表里写出不同的大类写入

解决方案 »

  1.   

    insert into cccx(codetype ,     codeno ,     codename)
    select 'A', 'A' + TO_CHAR(SEQ.nextval, '000'), codename 
    FROM tmpTable
      

  2.   

    to 王永斌:
    insert into cccx(codetype ,     codeno ,     codename)
    select 'A', 'A' + TO_CHAR(SEQ.nextval, '000'), codename 
    FROM tmpTable
    你这样写要定义一个自增序列,我有很多类的话就要定义很多自增序列,那样是不是不太好。还有应该用||代替+吧。
      

  3.   

    insert into cccx(codetype ,     codeno ,     codename)
    select 'A', 'A' || TO_CHAR((SELECT TO_NUMBER(SUBSTR( codeno,LENGTH(codeno)-3))
                                FROM   cccx
                                WHERE  codeno = (SELECT MAX(codeno)
                                                 FROM   cccx
                                                 WHERE  codetype = 'A' )
                                AND  codetype = 'A' ) + 1,'0000'), codename 
    FROM tmpTable
      

  4.   

    可以使用meger语句meger into cccx c
    using tmpTable t
    on (c.codename=t.codename)
    when not match
    insert (codetype_value ,codetype_value || your_lsh.nextval,t.codename);