两表结构:
RINGLIB3
RINGID VARCHAR2(20)
SONGNAME VARCHAR2(50)
SINGER VARCHAR2(50)
PROVIDER VARCHAR2(20)
RINGPRICE VARCHAR2(10)
RINGLIB
RINGID VARCHAR2(20)
SONGNAME VARCHAR2(50)
SINGER VARCHAR2(50)
PROVIDER VARCHAR2(20)
RINGPRICE NUMBER
用insert into ringlib select * from ringlib3实现不了向表ringlib增加数据,提示“数据错误”
用insert into ringlib select ring,songname,singer,provider,to_number(ringprice) from ringlib3实现不了向表ringlib增加数据,也提示“数据错误”。
最后猜测到价格(ringprice)这一列的可能别人提供的数据就有问题,原本价格都有小数点(1.0,1.5,2.0)。
最后用select max(ringprice) from ringlib3,竟然发现价格(ringprice)字段中有与价格无关的中文字,如“滚石移动”之类的文字。最后将它们找到来(select * from ringlib3 where ringprice not like '%.%'),把它们的价格更新为0。