CREATE TABLE NEW_TABLE
AS SELECT treenodename,treenodeid,parenttreenodeid,(treenodeid || parenttreenodeid) fullcode FROM OLD_TABLE;然后删除旧表,把新报名改为旧表名,OK?
AS SELECT treenodename,treenodeid,parenttreenodeid,(treenodeid || parenttreenodeid) fullcode FROM OLD_TABLE;然后删除旧表,把新报名改为旧表名,OK?
解决方案 »
- oracle数据库 select max(id) from table; 但我的id为varchar类型。得不出正确的id值,请问应该怎么写这句?
- oracle 10g的数据恢复
- 请教一个不同版本之间的数据库导入问题。
- 请问在oracle里如果同时对一个表上锁,什么出现什么情况?
- 利用分区条件查询和利用索引查询哪个效率高?
- 请推荐一下学习oracle9i的资料!
- 简单的oracle查询,求救!
- 求救,一个select语句,谁能帮我写一下,困扰了好几天
- 请教查询:如何选择不同类别的前几条记录?
- 在oracle里建立对象,用什么语句能查看此对象被哪些表和其它对象引用?
- 300分:统计分析问题请教!!
- 求一条查询Sql语句.
CREATE TABLE NEW_TABLE
AS SELECT A.treenodename,A.treenodeid,A.parenttreenodeid,(SELECT A.treenodeid || B.parenttreenodeid FROM OLD_TABLE B WHERE B.treenodename=A.treenodename) fullcode FROM OLD_TABLE A;应该没问题了吧
目前类似问题的解决方案是存储过程
-------------------- ---------- ----------------
总公司 4567
上海分公司 4568 4567
浙江分公司 4569 4567
电子开发事业部 4570 4569
房地产开发部 4571 4569SQL> select
2 treenodename,treenodeid,parenttreenodeid,
3 (select sum(power(10000,level-(select max(level)
4 from t1 start with treenodeid=a.treenodeid connect by prior parenttreenodei
d=4570))*treenodeid) fullcode from t1 start with treenodeid=a.treenodeid connect
by prior parenttreenodeid=treenodeid) fullcode
5 from
6 t1 a;TREENODENAME TREENODEID PARENTTREENODEID FULLCODE
-------------------- ---------- ---------------- ---------------
总公司 4567 4567
上海分公司 4568 4567 45674568
浙江分公司 4569 4567 45674569
电子开发事业部 4570 4569 456745694570
房地产开发部 4571 4569 456745694571
Treenodeid,
Parenttreenodeid,
Replace(Sys_Connect_By_Path(Treenodeid, '/'), '/', '') Fullcode
From Test
Connect By Prior Treenodeid = Parenttreenodeid
Start With Parenttreenodeid Is Null;TREENODENAME TREENODEID PARENTTREENODEID FULLCODE
-------------------- ---------- ---------------- -------------
总公司 4567 4567
上海分公司 4568 4567 45674568
浙江分公司 4569 4567 45674569
电子开发事业部 4570 4569 456745694570
房地产开发部 4570 4569 456745694570