两个表在表名、列名、数据类型和大小方面相同。这些表位于不同的数据库中,但我习惯于
当前登录 hr 用户。
insert into abc.employees select * from employees where employee_id=100;
我无法使用公司办公室的原始查询。
Error starting at line 1 in command:
insert into abc.employees select * from employees where employee_id=100;
Error at Command Line:1 Column:25
Error report:
SQL Error: ORA-00913: too many values
00913. 00000 - "too many values"
*Cause:
*Action:
您应该指定列名称,如下所示。这是很好的做法,可能会解决您的问题
insert into abc.employees (col1,col2)
select col1,col2 from employees where employee_id=100;
EDIT:
如你所说employees
有 112 列(原文如此!)尝试在下面运行 select 来比较两个表的列
select *
from ALL_TAB_COLUMNS ATC1
left join ALL_TAB_COLUMNS ATC2 on ATC1.COLUMN_NAME = ATC1.COLUMN_NAME
and ATC1.owner = UPPER('2nd owner')
where ATC1.owner = UPPER('abc')
and ATC2.COLUMN_NAME is null
AND ATC1.TABLE_NAME = 'employees'
并且您应该升级表以具有相同的结构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)