这是使用oracle 11g:
insert into B (table_name, column_name)
select
A.table_name as B.table_name,
A.column_name as B.column_name
from A
where A.table_name = 'example_table' and A.column_name = 'example_column';
B有5列,我正在尝试为给定的行插入其中的两列,当我收到一个错误,说明找不到预期的关键字。我在这里不知所措,大多数插入使用这个结构的例子。
表B中的其他3列允许空值,因此我不认为它应该是我不提供该数据的问题,因为它们将来自其他表。
答案 0 :(得分:2)
尝试删除“B”。来自SELECT
子句中列别名的前缀,如:
insert into B (table_name, column_name)
select
A.table_name as table_name,
A.column_name as column_name
from A
where A.table_name = 'example_table' and A.column_name = 'example_column';