RRU*_*RUZ 2 sql oracle oracle11g
我需要从我的架构中的许多表中的列名称中删除引号.有没有办法自动化这个过程?,oracle中的任何函数或某些工具允许我更改删除引号的列的名称.我正在使用oracle 11g.
UPDATE
对不起,我不得不重新提出我的问题.
提前致谢.
我在这里假设"字段"你的意思是"列名".
请记住,Oracle中的列名称不区分大小写,除非您在创建表时将它们放在引号中.在创建表时,在列名周围使用引号通常不是一个好主意.换句话说,如果您创建这样的表:
CREATE TABLE FOO (
colUMN1 varchar2(10),
CoLumn2 number(38)
)
Run Code Online (Sandbox Code Playgroud)
然后你仍然可以像这样运行select语句:
SELECT column1, column2 FROM FOO
Run Code Online (Sandbox Code Playgroud)
你也可以这样做:
SELECT COLUMN1, COLUMN2 FROM FOO
Run Code Online (Sandbox Code Playgroud)
另请注意,如果运行此查询,您将看到Oracle将列名称存储为数据字典中的大写:
SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'FOO'
Run Code Online (Sandbox Code Playgroud)
因此,无需将这些列重命名为全部大写.您编写的查询可以使用所有大写列名称(假设表不是使用列名称周围的引号创建的),它们将正常工作.尝试强制它们区分大小写通常是一个坏主意.