在oracle运行时从表中选择时,是否可以选择哪个列获得无效数字异常

时间:2017-11-03 07:02:11

标签: sql oracle11g

我要求将记录从一个table1移动到另一个table2,这两个表具有相同的列名但数据类型不同,而从table1中选择数据类型转换我得到“无效数字”异常,我需要要知道在运行时发生异常的哪一列。任何人都可以指导我如何实现这一目标。

1 个答案:

答案 0 :(得分:0)

在插入table1table2之前运行此查询,并获取与之不匹配的列。

SELECT a.table_name source_table,
       b.table_name dest_table,
       a.column_name,
       a.data_type source_type,
       b.data_type dest_type
FROM user_tab_columns a
JOIN user_tab_columns b ON a.column_name = b.column_name
AND a.table_name = 'TABLE1'
AND b.table_name = 'TABLE2'
AND a.data_type != b.data_type;