近期在项目中有接触到oracle数据库的同义词表的一些操作,现在把工作中用到过的一些语句分享一下,也基本是从互联网上获取到的只是将它做一个收集整理,如有错误的地方,欢迎大家指正。
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