那我再说一下,比如tmpTable里的记录如下
CodeName
白菜
土豆
笔记本写入cccx
cccx的内容应为
codetype codeno codename
A A0001 白菜
A A0002 土豆
A A0003 笔记本
codetype为大类代码,实际应用中我会从不同的表里写出不同的大类写入
CodeName
白菜
土豆
笔记本写入cccx
cccx的内容应为
codetype codeno codename
A A0001 白菜
A A0002 土豆
A A0003 笔记本
codetype为大类代码,实际应用中我会从不同的表里写出不同的大类写入
解决方案 »
- 未找到时区区域,如何解决
- 高分请教SQL语句
- 数据库SQL执行
- 请教:数据集显示方式重新排列
- 怎么样用job定时把快照里的数据导入到表里
- oracle中blob图片信息处理的问题,很急,请高手赐教~!
- oracle9i,我在oracle enterprise manager console中建了个用户??
- 从ORACLE到SQL的问题
- oracle8i里为什么没有dgmgrl.exe这个文件
- 我想在oracle数据库中设置合计行number类型与varchar类型的还好,怎么让datetime类型的相对应上
- ORACLE与SQl Server安装到一台机器出现问题
- LINUX下,只要向ORACLE9i录入数据,控制台就没有响应,这是为什么?
select 'A', 'A' + TO_CHAR(SEQ.nextval, '000'), codename
FROM tmpTable
insert into cccx(codetype , codeno , codename)
select 'A', 'A' + TO_CHAR(SEQ.nextval, '000'), codename
FROM tmpTable
你这样写要定义一个自增序列,我有很多类的话就要定义很多自增序列,那样是不是不太好。还有应该用||代替+吧。
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
using tmpTable t
on (c.codename=t.codename)
when not match
insert (codetype_value ,codetype_value || your_lsh.nextval,t.codename);