Oracle 当索引为DESC时获得索引列的名称
来源:互联网 发布:大数据时代 四大挑战 编辑:程序博客网 时间:2024/06/08 00:22
这是一个容易被忽视的问题。
结果如下:INDEX_NAME COLUMN_NAME DESCEND
------------------------------ ------------------------------ --------
IDX1 SYS_NC00004$ DESC
IDX1 SYS_NC00005$ DESC
IDX2 A ASC
IDX2 B ASC
IDX3 A ASC
IDX3 SYS_NC00005$ DESC
可见当索引列定义为DESC时,user_ind_columns.COLUMN_NAME并不能正确显示列名。结果如下:
INDEX_NAME TABLE_NAME COLUMN_EXPRESSION COLUMN_POSITION
------------------------------ ------------------------------ ------------------------------ ---------------
IDX1 T1 "A" 1
IDX1 T1 "B" 2
IDX3 T1 "B" 2
从user_ind_expressions视图可以查询到索引列名。Oracle把DESC定义的索引作为函数索引,所以看到的是加了引号的列名,被当做函数表达式。
从以上分析得知,可以关联user_ind_columns和user_ind_expressions查询出所有索引列名称。这时又遇到一个问题,COLUMN_EXPRESSION列是LONG类型的,不能使用普通的函数进行处理,需要先建立一个转换函数,把LONG转换成VARCHAR。
0 0
- Oracle 当索引为DESC时获得索引列的名称
- [Oracle]-[recyclebin][索引]-回收站恢复的索引名称修改
- 获得父节点,行索引,列索引
- oracle 无效列索引
- Oracle中查询索引名称,批量修改索引名称语句
- Oracle中查询索引名称,批量修改索引名称语句
- 使用索引的误区之六:为索引列都建立索引
- 使用索引的误区之六:为索引列都建立索引
- 使用索引的误区之六:为索引列都建立索引
- LISTAGG之取索引对应列名称
- 物化视图,索引视图,函数索引;创建索引时使用DESC
- 无效的列索引
- 索引列的选择
- 无效的列索引
- 索引列的选择
- 学习索引:当字段为varchar时查询数字,遇到的坑
- 索引名称的唯一性
- ORACLE下如何获得全部的索引创建语句
- StringMVC返回值总结
- Cookies实践
- 207. Course Schedule 广度优先&&拓扑排序
- 关于Android权限系统的理解(持续更新)
- win10 技巧
- Oracle 当索引为DESC时获得索引列的名称
- OpenGL 入门12
- 常见PHP实现URL地址跳转代码
- 螺旋方阵
- ABAP总结
- Android干货框架集锦,搭建项目必不可少
- shell中>/dev/null 2>&1是什么鬼?
- keil分散加载文件sct写法
- c#获取软件在注册表中的安装信息