在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中文网

点赞(579) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部