sql - 规范化 ORACLE 11g 中的列名

标签 sql oracle oracle11g

我需要从我的架构中的许多表中的列名称中删除引号。有什么方法可以自动执行此过程?oracle 中的任何函数或某些允许我更改删除引号的列的名称的工具。我正在使用 Oracle 11g。

更新

对不起,我不得不重新表述我的问题。

提前致谢。

最佳答案

我在这里假设“字段”是指“列名”。

请记住,Oracle 中的列名不区分大小写,除非您在创建表时将它们放在引号中。创建表时,在列名周围使用引号通常不是一个好主意。换句话说,如果您像这样创建表格:

CREATE TABLE FOO (
  colUMN1 varchar2(10),
  CoLumn2 number(38)
)

然后你仍然可以像这样运行 select 语句:

SELECT column1, column2 FROM FOO

你也可以这样做:

SELECT COLUMN1, COLUMN2 FROM FOO

另请注意,如果您运行此查询,您将看到 Oracle 将列名称以大写形式存储在数据字典中:

SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = 'FOO'

因此无需将这些列重命名为全部大写。您编写的查询可以使用所有大写的列名(假设表不是使用列名周围的引号创建的)并且它们会正常工作。试图强制它们区分大小写通常不是一个好主意。

关于sql - 规范化 ORACLE 11g 中的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1892222/

相关文章:

java - 使用 Hibernate Criteria API 返回每组的第一行

java - 在 JDBC 连接上切换用户

c# - Entity Framework LINQ 多对多查询

sql - 按存在于另一个表中的行排序

sql - 删除sql SELECT中的所有非数字字符

php 比较两个字符串并根据字符串的一部分创建一个

java - 使用 JDBC 编写带有绑定(bind)变量的匿名 PL/SQL block

sql - Oracle SQL View : Multiple rows to one with help of foreign key

sql - 使用MySQL计算中位数的简单方法

mysql - 如果不是 ODBC,mysql、postgresql 和 Oracle sql 将什么用于其命令行客户端?