例如,有这么一张表
当你想查询NAME和age字段的时候,你会发现
表字段不存在,没有明确定义。
那就只能这么查询了。这应该和Oracle自己的机制有关吧。当你查询没有添加英文双引号的时候。默认给你转化成大写。
下面分享一个把表字段从小写改成大写的sql
BEGIN
FOR c IN ( SELECT COLUMN_NAME cn FROM all_tab_columns WHERE table_name = '表名' )
loop
BEGIN
execute IMMEDIATE 'alter table 表名 rename column "' || c.cn || '" to ' || c.cn;
EXCEPTION
WHEN others THEN
dbms_output.put_line ( '表名' || '.' || c.cn || '已经存在' );
END;
END loop;
END;
我也是网上找的。测试了有效。记录一下