在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中文網其他相關文章!