[置頂] Oracle數據庫之同義詞(SYNONYM)使用
來源:程序員人生 發布時間:2015-01-04 09:52:05 閱讀次數:5301次
本教程用示例來講明在Oracle數據中如何創建和刪除同義詞(SYNONYM)。
概念
同義詞是指數據庫對象(表、視圖、序列、存儲進程等數據庫對象)用另外一個名字來援用。比如:
建立1個同義詞可以排除1個對象名字的限制.
如果你的數據庫有多個用戶,USER_A要訪問USER_B的TABLE1,只能使用USER_B.TABLE1
建1個同義詞abc指向USER_B.TABLE1,那你就能夠select * from abc了,而且public的同義詞會直接出現在所有用戶的眼前,開發不就方便多了
創建同義詞
語法:
CREATE [OR REPLACE] [PUBLIC] SYNONYM [schema.] synonym_name FOR [schema.] object_name [@dblink];
語法說明:
OR REPLACE: 在不使用DROP的條件下容許你重新創建(如果同義詞已存在)。
PUBLIC: 所創建的同義詞是全局的同義詞,所有數據庫用戶都可使用。
schema: 要創建同義詞的對象所在的schema,如果省略,則默許的利用對象在當前schema下。
object_name: 要創建同義詞的對象,它可以是以下幾種類型:
- TABLE
- VIEW
- SEQUENCE
- STORED PROCEDURE
- FUNCTION
- PACKAGE
- MATERIALIZED VIEW
- JAVA CLASS SCHEMA OBJECT
- USER-DEFINED OBJECT
- SYNONYM
示例:
CREATE PUBLIC SYNONYM suppliers FOR app.suppliers;
示例中創建的同義詞名為suppliers,這樣,其他schema下的用戶可使用該同義詞來使用app下的suppliers表而沒必要加上app。例如:
SELECT *
FROM suppliers;
刪除同義詞
語法
DROP [PUBLIC] SYNONYM [schema.] synonym_name [FORCE];
說明:
PUBLIC: 容許刪除PUBLIC同義詞, 如果使用了PUBLIC關鍵字,則可以省略schema。
FORCE:用來強迫刪除同義詞,即便它在數據庫中有其它的依賴。
示例:
DROP PUBLIC SYNONYM suppliers;
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈