`
jayghost
  • 浏览: 443824 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

【转】oracle表大小写问题,尽量用大写!

 
阅读更多

转自:http://leiquanrui.iteye.com/blog/909458

 

   oracle对包括表名在内的所有对象名的大小写在一般情况下都是不区分的,因为它默认会将所有小写对象名转化为大写! 
    因为这个特性,导致表面看来oracle好像是不区分大小写的。但实际上oracle内部有两种对象名处理方式:加引号方式和不加引号方式。 
(1)当不加引号时,对象名只能使用以字母开头的普通字符,并且会自动将所有小写字符转为大写字符; 
(2)当加引号时,对象名可以使用任何字符,包括各种符号字符,同时也区分大小写!加引号可以理解为,严格按照引号里面的字符名进行建表 

在写sql时候,无论表名和字段名都不要加引号,这样比较安全。 

另外,在使用pd生成sql时,应该要注意一下,pd默认是会添加引号的。 

摘抄如下: 
    用PowerDesigner生成数据库建表SQL脚本时,尤其是Oracle数据库时,表名一般会带引号。其实加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照ORACLE默认的设置建表(DBA STUDIO里面),默认是全部大写,这样,在ORACLE数据库里的字段就如“Column_1”。如果你把引号去掉,ORACLE自动默认为全部大写,即“COLUMN_1”,所以这段SQL在PL/SQL中执行的时候是没有任何问题的,如果不加引号,在PL/SQL会自动识别为大写。 
    如果加了引号,sql或者hql查询“Column_1='XXX'”时,就会报错:ORA-00904: "COLUMN_1": 无效的标识符,除非写为“‘Column_1’='XXX'”。也就是说,如果创建的时候加了引号,查询和使用的时候也要加引号,所以,如果没有特别要求,还是不加引号的方便。 

    这个问题是生成脚本格式的问题,因此,我们可以尝试在DBMS配置文件中修改相应的格式设置来解决这个问题。选择DBMS Properties,选择Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。这样就可以不添加引号了!

分享到:
评论

相关推荐

    如何:让Oracle表及字段显示为区分大小写

    虽然在Oracle中默认采用全部大写的形式可以简化查询过程,但对于那些希望保留标识符原始大小写状态的开发者来说,通过使用PowerDesigner或其他方法来创建表和字段,可以使Oracle中的表及字段显示为区分大小写的形式...

    Oracle中金额大小写转换

    总的来说,Oracle中进行金额大小写的转换涉及到对数字字符串的处理、自定义函数的编写以及对汉字数字的映射理解。虽然Oracle本身不直接提供这样的功能,但我们可以通过PL/SQL编程来实现。希望这个示例能帮助你理解并...

    Oracle中对像名大小写敏感性的深入解析

    Oracle数据库在默认情况下被广泛认为...在开发和维护Oracle数据库时,应尽量避免使用引号标识对象名,除非有特殊需求,以减少潜在的大小写问题。同时,为了提高代码可读性和一致性,建议始终使用大写字母来编写对象名。

    oracle 数字金额转为汉字大写

    首先,我们来看标签中的关键词"Oracle 金额大小写转化"。在Oracle SQL中,没有内置的函数可以直接将数字转换为汉字大写的金额。因此,我们需要编写自定义的函数来完成这个任务。这里提供一个名为`num2rmb`的函数示例...

    ORACLE中数据字典大小写问题

    ### ORACLE中数据字典大小写问题 #### 数据字典大小写敏感性 在Oracle数据库中,对于数据字典中的表名和字段名,Oracle实际上处理这些名称时默认是大小写敏感的。这意味着如果创建了一个名为`myTable`的表,并且...

    解决ORALCE大小写限制及登录限制

    1. **统一命名规范**:在创建数据库对象时,始终遵循一种大小写规则,例如全大写或者全小写,这样在查询时就不需要担心大小写问题。 2. **双引号显式定义**:在创建和引用对象时,使用双引号将名称括起来,如`CREATE...

    oracle金额转换

    总结一下,Oracle提供了一系列工具和函数来处理金额转换和格式化,包括使用自定义函数实现金额的大小写转换,使用`TO_CHAR`函数进行基本的格式化,以及利用NLS参数实现国际化。理解并熟练掌握这些技术,对于在Oracle...

    Oracle 大小写转换函数实例详解

    在Oracle数据库中,大小写转换是非常常见的操作,特别是在处理文本数据时。本文将详细解析Oracle中的大小写转换函数以及相关的正则表达式检测方法。 首先,我们有两个主要的大小写转换函数:`UPPER()` 和 `LOWER()`...

    人民币大小写转换,人民币大小写转换

    人民币小写转大写 人民币小写转大写 人民币小写转大写 人民币小写转大写

    oracle汉字转拼音函数整理大全

    这些函数能够满足不同场景下对拼音格式的需求,比如是否包含空格分隔、大小写等。 #### 二、函数定义及使用方法 - **`fn_getpyKGJG`**: 返回带有空格间隔的拼音。 - 参数说明: - `p_str`: 输入的汉字字符串。 -...

    PowerDesigner中字符自动转大写

    其中,对于字符处理的需求非常常见,比如字符大小写的转换。本次讨论的知识点将围绕“PowerDesigner中字符自动转大写”的主题展开,详细解析如何在PowerDesigner中实现这一功能,以及其背后的编程逻辑和技术细节。 ...

    达梦和oracle的差异说明

    对于字段名的大小写敏感性问题,两者采用了不同的处理方式: - **达梦数据库**:支持字段名的大小写敏感性,即在查询结果中会按照原始SQL语句中的大小写返回列名。例如,执行`SELECT typeid, typename FROM T_PUB_...

    POWERDESIGNER生成oracle表名带有引号

    POWERDESIGNER 生成 Oracle 表名带有引号的问题可以通过修改表名或取消大小写敏感性来解决。 POWERDESIGNER 是一款功能强大的数据建模工具,可以帮助用户设计、生成和管理数据库结构。了解 POWERDESIGNER 和 Oracle...

    三大写怎么写.docx

    在某些数据库系统如MySQL,不区分大小写,但在PostgreSQL和Oracle中,大小写敏感。因此,开发人员应统一命名规则,如始终使用下划线分隔单词并全小写(`table_name`),或使用某种大小写约定,以便在不同系统间保持...

    关于创建oracle 连接时报以下错误,ORA-01017 ORA-02063

    第二种方法是在目标数据库(即Oracle 11g数据库)上使用'SEC_CASE_SENSITIVE_LOGON'初始化参数来禁用密码的大小写敏感性。可以使用ALTER SYSTEM命令动态地改变这个参数,设置为FALSE,从而允许密码可以不区分大小写...

    Oracle_Sql_中常用字符串处理函数

    Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 Oracle Sql 提供了两个大小写转换...

    SQL和Oracle中统计数据库中表个数及表名

    在Oracle中,用户名通常是区分大小写的,因此在查询时应确保使用正确的大小写格式。 总的来说,SQL和Oracle都提供了内置的系统视图来帮助用户获取数据库中的表数量和表名。通过这些视图,我们可以有效地管理和监控...

    10行代码搞定金额大小写转换

    根据给定的信息,本文将详细解析“10行代码搞定金额大小写转换”这一功能的实现原理、核心逻辑以及代码解读等内容。 ### 核心功能介绍 本代码的主要功能是将一个数字(金额)转换为对应的中文大写形式,比如将`...

Global site tag (gtag.js) - Google Analytics