SQL基础--同义词
生活随笔
收集整理的這篇文章主要介紹了
SQL基础--同义词
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
同義詞的概念:
? ?同義詞是Oracle對象的別名,使用同義詞訪問相同的對象
????可以為表、視圖、存儲過程、函數或另一同義詞等對象創建同義詞
????方便訪問其它用戶的對象,隱藏了對象的身份
????縮短對象名字的長度
?
同義詞創建語法:
CREATE?[PUBLIC]?SYNONYM?synonym_name??FOR??object;
?
創建和刪除同義詞的權限:
- ?CREATE?ANY?SYNONYM
- ? ? ? ?CREATE?PUBLIC?SYNONYM
- ?DROP?PUBLIC?SYNONYM
- ? ? ? ? DROP?ANY?SYNONYM
?
創建同義詞舉例:
SQL> conn / as sysdba 已連接。SQL> grant create public synonym to scott;授權成功。SQL> grant create any synonym to scott;授權成功。SQL> conn scott/tiger 已連接。SQL> create public synonym mydept for dept; ##創建公有同義詞,其它用戶也可以訪問同義詞已創建。SQL> create synonym mydept for dept; ##創建私有同義詞,只有Scott才可以訪問,與公共同義詞同名,并沒有報錯 同義詞已創建。?
?
刪除同義詞:
?
SQL> drop public synonym mydept;同義詞已刪除。SQL> select * from mydept; ##刪除共有同義詞,私有的還在DEPTNO DNAME LOC ---------- -------------- -------------10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTONSQL> drop synonym mydept; 同義詞已刪除。SQL> select * from mydept; select * from mydept* 第 1 行出現錯誤: ORA-00942: 表或視圖不存在
?
?
?
?
查看同義詞視圖:
SQL> select * from user_synonyms;SYNONYM_NAME TABLE_OWNER TABLE_NAME ------------------------------ ------------------------------ ------------------------------ DB_LINK ------------------------------------------------------------------------------------------------------------------------ MYDEPT SCOTT DEPTSQL> conn / as sysdba 已連接。SQL> SELECT synonym_name,table_owner,table_name FROM dba_synonyms WHERE table_name = 'DEPT';SYNONYM_NAME TABLE_OWNER TABLE_NAME ------------------------------ ------------------------------ ------------------------------ MYDEPT SCOTT DEPT MYDEPT SCOTT DEPT?注意:創建的公共同義詞沒有出現在user_synonyms視圖中
?
?
轉載于:https://www.cnblogs.com/zydev/p/6254446.html
總結
以上是生活随笔為你收集整理的SQL基础--同义词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS6.9编译安装LNMP环境
- 下一篇: 数据结构-王道2017-第5章 图