oracle怎么查询表的同义词

WBOY
WBOY 原创
2022-05-25 15:19:51 8150浏览

在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核实处理。