如果我们根据属性位置以不同的顺序放置属性,请告诉我 Oracle 插入语句是否有效。我无法在开发环境中进行测试,因此在直接推动 PROD 更改之前需要专家意见。请帮忙。
我有以下表格:
表A - col1,col2,col3,col4,col5
表 B - col1、col2、col4、col5
我需要从 tableB 中选择不同的值并通过向 tableA 添加序列号来插入到 tableA 中。
由于不同的和序列号在插入语句中不能一起工作,我正在使用外部选择语句。
请让我知道以下 2 个选项中的哪一个有效???如果两者都不起作用,那么也请提供您的建议。
选项 1 - 在最后的外部 select 语句中添加 nextval 并将 col3 作为插入中的最后一个位置
insert into tableA ( col1, col2, col4, col5, col3 ) select col1, col2, col4, col5, my_seq.nextval as col3 from ( select distinct col1, col2, col4, col5 from tableB );
选项 2- 在外部 select 语句中以相同的顺序添加 nextval 并将 col3 保持在插入中的相同位置
insert into tableA ( col1, col2, col3, col4, col5 ) select col1, col2, my_seq.nextval as col3, col4, col5 from ( select distinct col1, col2, col4, col5 from tableB );
提前致谢!!