oracle 做数据迁移的时候,有的时候会借用一些软件来做部分迁移工作,经常遇到表名和列名出现双引号(”)转换小写字母的表名和列名。 最终导致在oracle数据库中查询不到表或者列。
例如:create table “mahanso”
(
"id" number
)
今天总结了一下,处理方法如下:
一、表名处理sql:
select 'alter table "' || table_name || '" rename to ' || upper(table_name) || ';'
from user_tables
where table_name <> upper(table_name);
二、列名处理sql:
select 'alter table "' || table_name || '" rename column "' || column_name ||
'" to ' || upper(column_name) || ';'
from user_col_comments
where column_name <> upper(column_name)
and table_name in (select table_name from user_tables)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12272958/viewspace-683352/
,如需转载,请注明出处,否则将追究法律责任。