insert into tableB select * from tableA报错:ORA-01722: 无效数字
意图:tableB复制了tableA的表结构,现在想要把tableA的数据复制到tableB
原因:从tableA select出来的字段顺序和tableB insert的字段顺序不一致,手动指明字段即可
测试用例:
CREATE TABLE TABLE_A(
ID INTEGER,
NAME VARCHAR2(32)
);
INSERT INTO TABLE_A VALUES(1,'张三');
CREATE TABLE TABLE_B(
NAME VARCHAR2(32),
ID INTEGER
);
INSERT INTO TABLE_B SELECT * FROM TABLE_A;
解决方法:
INSERT INTO TABLE_B(ID,NAME) SELECT ID,NAME FROM TABLE_A;