Oracle同義詞以及同義詞迴圈鏈錯誤。

2021-07-28 11:21:43 字數 1187 閱讀 4735

就是別名的意思。與檢視類似,是一種對映關係。

是表、索引、檢視的物件的別名。

建立:create public synonym table_name for user.table_name;

好處:節省資料空間,不同使用者操作同一種表無差別。能夠在不同的資料使用者之間實現無縫互動。

簡化物件訪問  和  提高物件訪問安全性。在開發中對統一資料庫,多使用者操作。如果沒有同義詞,個人使用者要操作其他表時  需要  使用者名稱.object,來訪問。

用同義詞就不需要 加使用者了。簡化sql語句。

為分布式資料庫,的遠端物件,提供位置,透明性。

分為共用同義詞和私有同義詞。

若建立的是公有同義詞,則其定義儲存在dba_synonyms中,查詢時需要具有相關許可權。

同義詞迴圈鏈報錯:

因為存在同義詞,但同義詞沒有相應的物件(對應的表,等物件 被刪了)。

刪除資料庫物件,但是忘記刪除同義詞。

刪除乙個使用者,但忘記刪除此使用者中相關的同名。

建立同名時,同名對應的資料庫物件已經被刪掉了。

1.一般同義詞是和表名或者檢視名一樣的。這樣方便使用。

select * from 

dba_synonyms where 

table_owner=

'test' 

and synonym_name<>table_name;

這裡table_owner是你的使用者 synonym_name是同義詞名稱 table_name 是表名。先看一下是否有不一樣的。

2.select * from dba_synonyms

where table_owner='hd40'

andsynonym_name in

(select a.synonym_name from dba_synonyms a where a.table_owner='hd40'

minus

select object_name from user_objects) 

dba_synonyms是儲存 同義詞和表名等物件的關聯表。

這條語句 查出,存在同義詞,但是table_name對應的表或者物件已經被刪了。

你會發現查詢這些同義詞都報同義詞迴圈鏈錯誤。

一般就是這個原因。

網上說的查詢結果,然後刪除,其實就是刪除這些資料。

或者你再建立出表等物件。

Oracle的同義詞

oracle中建立同義詞語句 create synonym table name foruser.table name 其中第乙個user table和第二個user table可以不一樣。此外如果要建立乙個遠端的資料庫上的某張表的同義詞,需要先建立乙個databaselink 資料庫連線 來擴充套...

ORACLE同義詞詳解

1 同義詞概述 同義詞從字面上理解就是別名的意思,和檢視的功能類似。就是一種對映關係。同義詞擁有如下好處 節省大量的資料庫空間,對不同使用者的操作同一張表沒有多少差別 擴充套件的資料庫的使用範圍,能夠在不同的資料庫使用者之間實現無縫互動 同義詞可以建立在不同乙個資料庫伺服器上,通過網路實現連線。知識...

Oracle 建立同義詞

oracle 的同義詞 synonyms 從字面上理解就是別名的意思,和試圖的功能類似,就是一種對映關係。本文介紹如何建立同義詞語句,刪除同義詞以及檢視同義詞語句。oracle的同義詞總結 從字面上理解就是別名的意思,和試圖的功能類似。就是一種對映關係。1.建立同義詞語句 create public...