[英]Migration of Data in Oracle DB using SQL
在某些版本升级期间,Oracle数据库中的数据迁移存在问题。
案件:
我需要一个Oracle SQL查询,在这两种情况下,都将根据我临时存储数据的TMP的库仑大小将数据从TMP表复制到实际表(必须这样做)。
以下是我尝试过的查询,但它不起作用。
insert into USER.X values
(CASE (select count(*) from all_tab_columns where table_name='TMP')
WHEN '3' THEN (select USER.TMP.*, null NEWCOL1 from USER.TMP, null NEWCOL2 from USER.TMP)
WHEN '5' THEN (select USER.TMP.* from USER.TMP)
END
);
请在这方面提供帮助,如果有更好的方法,请告诉我。
编辑:您的逻辑中存在多个问题。
too many values
所以你应该
Execute immidiate
上一个 响应
查询中的第一个问题是select count(*) from all_tab_columns where table_name='TMP'
返回一个整数,而case
您将其与varchar比较为'3'
和'5'
。 因此,假设查询的其余部分正确返回了结果,请尝试将'3'
和'5'
替换为3
和5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.