在oracle中,可以利用select语句配合“dba_synonyms”查询表的所有同义词,语法为“select * from dba_synonyms”;同义词和视图的功能类似,是一种映射关系,能够节省大量的数据库空间。
本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。
Oracle的同义词(synonyms)详解
从字面上理解就是别名的意思,和视图的功能类似。就是一种映射关系。
同义词语法:CREATE
[PUBLIC] SYNONYM synonym FOR object;
查看所有同义词:
select * from dba_synonyms
同义词拥有如下好处:节省大量的数据库空间,对不同用户的操作同一张表没有多少差别;扩展的数据库的使用范围,能够在不同的数据库用户之间实现无缝交互;同义词可以创建在不同一个数据库服务器上,通过网络实现连接。
扩展知识:
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中文网其他相关文章!