Oracle之表/视图名称大小写问题-yellowcong
2017-11-13 21:40
316 查看
Oracle是区分大小写的,建立表的时候,虽然我们的名称都是小写,但是都会被转化为大写的表,还有查询的时候,直接查询表,无论大小写,都是可以查询到数据,当把表名称作为查询的条件的情况(简单来说,就是表名称放在双引号的情况),是区分大小写的。
大小写原则
-- 虽然写的时候是有大写和小写,但是在数据库里面是不区分的。 到数据库都变成了大写了。。 CREATE TABLE TableName(id number); -- 直接查询的时候, select * from tablename; SELECT * FROM TABLENAME; SELECT * FROM TableName; -- 这下面三种方式都能查询出表信息 select * from dual select * from DUAL select * from "DUAL" -- 这种方式就查询不到表的信息了 select * from "dual" -- 下面创建表的方式不常用,比较的别扭 -- 如果创建表的时候是这样写的,那么就必须严格区分大小写 CREATE TABLE "TableName"("id" number); -- 不仅要区分大小写而且要加双引号,以便和上面的第三种查询方式区分开。 SELECT * FROM "TableName";
例子
表大写的情况
这个时候,我们将表VIEW_CONTRACT_NUMBER大写,然后可以查出数据来
SELECT COL.COLUMN_NAME, COL.COMMENTS, case TAB.DATA_TYPE when 'NUMBER' then decode(sign(TAB.DATA_SCALE), 0, 'NUMBER', 'FLOAT') else TAB.DATA_TYPE end as DATA_TYPE, DECODE(TAB.DATA_TYPE, 'NUMBER', TAB.DATA_PRECISION + TAB.DATA_SCALE, TAB.DATA_LENGTH) AS DATA_LENGTH FROM USER_COL_COMMENTS COL, USER_TAB_COLUMNS TAB WHERE COL.TABLE_NAME = 'VIEW_CONTRACT_NUMBER' AND TAB.TABLE_NAME = COL.TABLE_NAME AND TAB.COLUMN_NAME = COL.COLUMN_NAME
小写的情况
当我们小写的情况,就查询不到数据了SELECT COL.COLUMN_NAME, COL.COMMENTS, case TAB.DATA_TYPE when 'NUMBER' then decode(sign(TAB.DATA_SCALE), 0, 'NUMBER', 'FLOAT') else TAB.DATA_TYPE end as DATA_TYPE, DECODE(TAB.DATA_TYPE, 'NUMBER', TAB.DATA_PRECISION + TAB.DATA_SCALE, TAB.DATA_LENGTH) AS DATA_LENGTH FROM USER_COL_COMMENTS COL, USER_TAB_COLUMNS TAB WHERE COL.TABLE_NAME = 'view_contract_number' AND TAB.TABLE_NAME = COL.TABLE_NAME AND TAB.COLUMN_NAME = COL.COLUMN_NAME
相关文章推荐
- Oracle基础:表空间名称大小写问题
- 问题解决之--无法识别的属性“targetFramework”。请注意属性名称区分大小写。
- 关于asp.net的中绑定名称的大小写问题.
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- Oracle表结构修改触发视图无法正常使用问题
- 问题:使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?
- 最近遇到的几个oracle视图问题
- oracle 创建其他用户下物化视图 权限不足问题
- 折腾Oracle问题小菜记[分页存储过程/查询所有表、视图、存储过程/查询表、视图、存储过程字段结构与参数](三)
- 实例演示oracle数据块状态视图v$bh的用法二 热点块问题(转)
- oracle 表或者视图不存在,名称已由现有对象使用,可是又查询到数据
- 【Oracle】-【ORA-01031】-创建基于数据字典表的视图无权限的问题
- 关于oracle 实例名大小写的问题
- MySQL与Oracle的大小写问题
- ORACLE物化视图--物化视图日志没有清除问题、日志清除方法
- MySql的视图和大小写问题
- ORACLE中表,视图名变大写和BLOB操作的问题
- J2ME中资源名称大小写问题
- oracle 使用闪回事务查询是 视图flashback_transaction_query中列operation为unknown 问题分析
- 计算机名称修改后Oracle不能正常启动问题分析及解决