---
很多时候会面对这样的问题:原来的表A设计中的一列A.a是字符型数据,成为了此表的一个属性。现在元数据在扩充,原来的此列属性现在发展成了一个新的表关系B,现在的问题是,原来的A.a列数据要成为一个外键,而且要从原来的字符型转换为数字型。而且,最重要的是如果表A原来还有数据,则要将表A.a中的字符型数据转换成外键的id。
比如这里有一个表叫做Balance记录所有的用户余额,原来在没有货币类型表的时候,Balance有一列叫做CURRENCY记录此余额的货币类型,用的是货币类型的缩写。比如RMB现在新增了货币类型Currency表(里面包含ID列和缩写列SHORTNAME,ID和SHORTNAME都是unique的),想用原来的CURRENCY列记录Currency表的ID列作为外键。请问,这可如何能够做到?现在的挑战如下:1)原来的Balance表的Currency列是Varchar2类型,而现在要变成Number类型。2)还要用当前的CURRENCY列的数据和Currency表的SHORTNAME列去映射然后把Currency表的ID列映射回来写入CURRENCY列3)所有操作都得在查询下完成。请问,如何搞定?我觉得这个问题可能也比较典型,请各位指点,谢谢了。