• 技术文章 >数据库 >Oracle

    oracle怎么查询表的同义词

    长期闲置长期闲置2022-05-25 15:19:51原创105

    在oracle中,可以利用select语句配合“dba_synonyms”查询表的所有同义词,语法为“select * from dba_synonyms”;同义词和视图的功能类似,是一种映射关系,能够节省大量的数据库空间。

    本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

    oracle怎么查询表的同义词

    Oracle的同义词(synonyms)详解

    从字面上理解就是别名的意思,和视图的功能类似。就是一种映射关系。

    同义词语法:CREATE

    [PUBLIC] SYNONYM synonym FOR object;

    查看所有同义词:

    select * from dba_synonyms

    17.png

    同义词拥有如下好处:节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接。

    扩展知识:

    1:获取当前所有的同义词表名:

    select table_name from user_synonyms

    2:查询所有同义词表的所有者:

    select table_owner from user_synonyms

    3:查询当前同义词表的所有者:

    select table_owner from user_synonyms WHERE table_name ='大写表名'

    4:查询同义词表的表数据:

    select * from 大写所有者名.大写表名

    5:查询同义词表的表结构基本信息(字段名称,字段类型,字段长度等信息):

    select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from dba_tab_columnswhere table_name ='(大写表名)' AND OWNER  = (大写所=属名) order by COLUMN_NAME';

    6:查询oracle同义词表的主键信息:

    select a.column_name,
                        DECODE(A.column_name, b.column_name, 1, 0) pk
                   from all_tab_columns a,
                        (select column_name
                           from all_constraints c, all_cons_columns col
                          where c.constraint_name = col.constraint_name
                            and c.constraint_type = 'P'
                            and c.table_name =  '大写表名' ) b
                  where table_name ='大写表名'
                    and a.column_name = b.column_name(+) and  DECODE(A.column_name, b.column_name, 1, 0) = 1

    推荐教程:《Oracle视频教程

    以上就是oracle怎么查询表的同义词的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:oracle
    上一篇:oracle怎么实现主键自增 下一篇:oracle怎么判断索引是否失效
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• oracle中转为大写的函数是什么• oracle纵表怎么转横表• 怎么删除oracle当前连接的用户• oracle 11g中rac怎么关闭• oracle索引表空间怎么修改
    1/1

    PHP中文网