This topic has been archived. It cannot be replied.
-
工作学习 / 专业技术讨论 / 不好意思地问,大家谁有Oracle Long字段转Varchar2 的技术。
-vetra(piyupiyu);
2005-5-27
(#2315557@0)
-
你在搞笑吧?
-oraclefun(准备跳槽);
2005-5-27
(#2315628@0)
-
Oracle 自己没有这种函数,但是自己可以写Procedure的!
-vetra(piyupiyu);
2005-5-27
(#2315729@0)
-
不过,我还是自己写了个Function做出来的.
-vetra(piyupiyu);
2005-5-27
(#2316488@0)
-
可能用处不大,容量不一样,要么是原来设计有问题,要么就是以后会出问题。
-iamweng(iamweng);
2005-5-27
(#2316989@0)
-
没有办法,我们原来采用的系统就是Long字段。现在转换系统,有些数据要倒入至新系统,我也不懂他们在做什么,反正就简单地把问题丢给了我,我也不管他们的应用
-vetra(piyupiyu);
2005-5-27
(#2317095@0)
-
也不会吧,毕竟Oracle Long字段不能做String 的一些操作。
-vetra(piyupiyu);
2005-5-27
(#2317103@0)
-
没记错的话,Varchar2的长度是4k, Long的长度是1G,如果是4k之内的Long类型,你可以直接select into New table. 如果是大于4k的话,你应该建若干个Varchar2字段才行,这个就需要用SP来做了。
-hard20(hard20);
2005-5-27
(#2317011@0)
-
好像不可以直接用select into new table. 我试过。我们的Long字段里的东西其实也不多。所以,我自己写了一个Function就搞定了。
-vetra(piyupiyu);
2005-5-27
(#2317067@0)
-
这就是我说的问题啊,如果原来的数据是LONG的,现在你改成VARCHAR的了,而且这个时候你可以保证原来的数据没有损失地导入,但是不能保证以后的新数据能够顺利保存,除非应用也做了相应的修改。
-iamweng(iamweng);
2005-5-27
(#2317129@0)
-
首先呢,你说的有理,我同意,不过,他们用的是两套系统,我也不清楚。我不管那么多事情,本来就不是我管的系统,只管解决所有人问我的ORACLE问题,不问前因后果。
-vetra(piyupiyu);
2005-5-27
(#2317147@0)
-
这样可能你会吃亏, 如果后来真有问题的话,相当于他们采用了你的SOLUTION,到时候就会把责任推你身上,宁愿不做事,也不要做错事,对于数据管理来说,当然扯远了。
-iamweng(iamweng);
2005-5-27
(#2317178@0)
-
我提供的不是Solution,而是工具。我就像司机一样,只负责送他们像要过去的地方,我不建议去哪里是合适的。多轻松啊。我也不是Oracle Support Service. 要给他们建议。不是我不愿多说,是这里的文化没有让我说的必要。
-vetra(piyupiyu);
2005-5-28
(#2317280@0)
-
唉,说白了不就是开一个CURSOR嘛,把数据放进去就完了。
-hard20(hard20);
2005-5-28
(#2317292@0)
-
我开始是这样的,但是在做某条记录时,一直没有过去。
-vetra(piyupiyu);
2005-5-28
(#2317295@0)
-
是不是有null值?或者你的where 语句哪有问题?
-hard20(hard20);
2005-5-28
(#2317303@0)
-
可能吧,我也没有怎么试是否可以fetch null value. 下周再看看,
-vetra(piyupiyu);
2005-5-28
(#2317500@0)